February 14, 2012
Neil Jones
Quick overview of: Interpreters, Compilers, and Program Specialisers
The Futamura projections (Futamura stated them; 13 years later DIKU achieved them on the computer):
- a partial evaluator can compile;
- a partial evaluator can generate a compiler;
- a partial evaluator can generate a compiler generator.
Underbar types to describe the Futamura projections: Types of interpreters, compilers, specialisers, and program self-application.
Partial evaluation: how it can be done, and measures of efficiency: Trivial program specialization. Interpretation overhead, including self-interpretation. How specialization can be done; binding-time analysis. Speedups from self-application in the Futamura projections. Optimal program specialization.