An introduction to partial evaluation
ND Jones - ACM Computing Surveys (CSUR), 1996 - dl.acm.org
Partial evaluation provides a unifying paradigm for a broad spectrum of work in program
optimization compiling interpretation and the generation of automatic program generators …
optimization compiling interpretation and the generation of automatic program generators …
[PDF][PDF] Shortcut deforestation in calculational form
In functional programming, intermediate data structures are often used to “glue” together
small programs. Deforestation is a program transformation to remove these intermediate …
small programs. Deforestation is a program transformation to remove these intermediate …
Stream fusion, to completeness
O Kiselyov, A Biboudis, N Palladinos… - Proceedings of the 44th …, 2017 - dl.acm.org
Stream processing is mainstream (again): Widely-used stream libraries are now available
for virtually all modern OO and functional languages, from Java to C# to Scala to OCaml to …
for virtually all modern OO and functional languages, from Java to C# to Scala to OCaml to …
A positive supercompiler
We introduce a positive supercompiler, a version of Turchin's supercompiler maintaining
only positive information during transformation, and using folding without generalization …
only positive information during transformation, and using folding without generalization …
An Algorithm of Generalization in Positive Supercompilation.
MH Sørensen, R Glück - ILPS, 1995 - books.google.com
This paper presents a termination technique for positive supercompilation, based on notions
from term algebra. The technique is not particularily biased towards positive …
from term algebra. The technique is not particularily biased towards positive …
A co-iterative characterization of synchronous stream functions
P Caspi, M Pouzet - Electronic Notes in Theoretical Computer Science, 1998 - Elsevier
This paper presents an attempt to characterize synchronous stream functions within the
framework of co-iteration and to use this characterization in building a compiler for (higher …
framework of co-iteration and to use this characterization in building a compiler for (higher …
Conjunctive partial deduction: Foundations, control, algorithms, and experiments
D De Schreye, R Glück, J Jørgensen… - The Journal of Logic …, 1999 - Elsevier
Partial deduction in the Lloyd–Shepherdson framework cannot achieve certain optimisations
which are possible by unfold/fold transformations. We introduce conjunctive partial …
which are possible by unfold/fold transformations. We introduce conjunctive partial …
Partial evaluation of functional logic programs
Languages that integrate functional and logic programming with a complete operational
semantics are based on narrowing, a unification-based goal-solving mechanism which …
semantics are based on narrowing, a unification-based goal-solving mechanism which …
Lightweight modular staging and embedded compilers: Abstraction without regret for high-level high-performance programming
T Rompf - 2012 - infoscience.epfl.ch
Programs expressed in a high-level programming language need to be translated to a low-
level machine dialect for execution. This translation is usually accomplished by a compiler …
level machine dialect for execution. This translation is usually accomplished by a compiler …
Efficient multi-level generating extensions for program specialization
R Glück, J Jørgensen - International Symposium on Programming …, 1995 - Springer
Multiple program specialization can stage a computation into several computation phases.
This paper presents an effective solution for multiple program specialization by generalizing …
This paper presents an effective solution for multiple program specialization by generalizing …