Introduction to partial evaluation

February 14, 2012

Neil Jones


Introduction to partial evaluation

Time:   1:00pm
Location:   IMDEA conference room

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.