Get the latest tech news
Mazeppa: A modern supercompiler for call-by-value functional languages
A modern supercompiler for call-by-value functional languages - mazeppa-dev/mazeppa
Unlike previous supercompilers, Mazeppa 1) provides the full set of primitive data types, 2) supports manual control of function unfolding, 3) is fully transparent in terms of what decisions it takes during transformation, and 4) is designed with efficiency in mind from the very beginning. Max Bolingbroke and Simon Peyton Jones report that for one particular example, their higher-order supercompiler for a subset of Haskell spent 42% of execution time on managing names and renaming. Several existing supercompilers refrain from proper process graphs (e.g., Neil Mitchell's Supero and the aforementioned), but as a result, 1) they are less capable of inspection by a user, 2) the algorithms become cluttered with code generation details.
Or read this on Hacker News