{"repo":"etiamz/supercompilation-resources","free":true,"listed":false,"github":"https://github.com/etiamz/supercompilation-resources","clone":"git clone https://github.com/etiamz/supercompilation-resources.git","description":"📚 A collection of resources about supercompilation","language":null,"stars":130,"topics":["functional-programming","performance","program-analysis","program-optimization","program-transformation","static-analysis","supercompilation","symbolic-execution","type-theory"],"license":"BSD-3-Clause","category":"dev-tools","readme_excerpt":"📚 supercompilation-resources Supercompilation is a principiled program transformation technique that symbolically evaluates a given input program into its more efficient version, eliminating as much of computational overhead as possible. From a given program it builds a process graph of dynamically synthesized configurations (expressions with unknown variables) for representing all possible states of program execution, converts recursion patterns into special edges between the configurations, & finally residualizes the process graph into a structurally simpler output program in the same or different language. The result of supercompilation is a program with a greatly simplified structure, in which all user-defined functions have been completely eliminated & replaced with actual execution patterns. Meta-level supercompilation can achieve asymptotic speedups for some functional algorithms without human aid. This is a collection of resources for studying supercompilation & its applications, ranging from introductory materials to advanced papers. Any questions regarding supercompilation will be welcomed in the issues. Projects - SPSC -- A Small Positive Supercompiler in Scala, Haskell, Python, Ruby, JavaScript & Idris. - HOSC -- A higher-order call-by-name supercompiler for a subset of Haskell. - JSCP -- A supercompiler for the Java programming language. - MRSC -- A toolkit for rapid design and prototyping of (multi-result) supercompilers. - TT-Lite -- A supercompiler for a vers","default_branch":null,"files":null,"tree":[],"storefront":"/r/etiamz","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/etiamz/supercompilation-resources/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}