Supercompilation by evaluation

M Bolingbroke, S Peyton Jones - Proceedings of the third ACM Haskell …, 2010 - dl.acm.org
This paper shows how call-by-need supercompilation can be recast to be based explicitly on
an evaluator, contrasting with standard presentations which are specified as algorithms that …

FliPpr: A prettier invertible printing system

K Matsuda, M Wang - European Symposium on Programming, 2013 - Springer
When implementing a programming language, we often write a parser and a pretty-printer.
However, manually writing both programs is not only tedious but also error-prone; it may …

The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data Structures

Y Chen, L Parreaux - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Deforestation is a compiler optimization that removes intermediate data structure allocations
from functional programs to improve their efficiency. This is an old idea, but previous …

Proving the equivalence of higher-order terms by means of supercompilation

I Klyuchnikov, S Romanenko - International Andrei Ershov Memorial …, 2009 - Springer
One of the applications of supercompilation is proving properties of programs. We focus in
this paper on a specific task: proving term equivalence for a higher-order lazy functional …

Rethinking supercompilation

N Mitchell - ACM Sigplan Notices, 2010 - dl.acm.org
Supercompilation is a program optimisation technique that is particularly effective at
eliminating unnecessary overheads. We have designed a new supercompiler, making many …

A supercompiler for core Haskell

N Mitchell, C Runciman - … on Implementation and Application of Functional …, 2007 - Springer
Haskell is a functional language, with features such as higher order functions and lazy
evaluation, which allow succinct programs. These high-level features present many …

A Java supercompiler and its application to verification of cache-coherence protocols

AV Klimov - Perspectives of Systems Informatics: 7th International …, 2010 - Springer
Abstract The Java Supercompiler (JScp) is a specializer of Java programs based on the
Turchin's supercompilation method and extended to support imperative and object-oriented …

Multi-result supercompilation as branching growth of the penultimate level in metasystem transitions

I Klyuchnikov, SA Romanenko - International Andrei Ershov Memorial …, 2011 - Springer
The paper deals with some aspects of metasystem transitions in the context of
supercompilation. We consider the manifestations of the law of branching growth of the …

[PDF][PDF] Towards higher-level supercompilation

I Klyuchnikov, S Romanenko - Second International Workshop on …, 2010 - Citeseer
We show that the power of supercompilation can be increased by constructing a hierarchy of
supercompilers, in which a lowerlevel supercompiler is used by a higher-level one for …

Positive supercompilation for a higher order call-by-value language

PA Jonsson, J Nordlander - ACM SIGPLAN Notices, 2009 - dl.acm.org
Previous deforestation and supercompilation algorithms may introduce accidental
termination when applied to call-by-value programs. This hides looping bugs from the …