The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Towards an automated tupling strategy
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Convergence of program transformers in the metric space of trees
Science of Computer Programming - Special issue on mathematics of program construction
Occam's Razor in Metacompuation: the Notion of a Perfect Process Tree
WSA '93 Proceedings of the Third International Workshop on Static Analysis
A powerful strategy for deriving efficient programs by transformation
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Redundant Call Elimination via Tupling
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Hi-index | 0.00 |
Collapsed jungle evaluation is an evaluation strategy for functional programs that can give super-linear speedups compared to conventional evaluation strategies such as call-by-need. However, the former strategy may incur administrative evaluation overhead. We demonstrate how this overhead can be eliminated by transforming the program using a variation of positive supercompilation in which the transformation strategy is based on collapsed jungle evaluation. In penetrating the constantfactor barrier, we seem to be close to establishing a transformation technique that guarantees the efficiency of the transformed program. As a spin-off, we clarify the relationship between call-by-name, call-by-need and collapsed-jungle evaluation, showing that all three can be expressed as instances of a common semantics in which the variations -- differing only in efficiency -- are obtained by varying the degree of sharing in a DAG representation.