The Genesis of Mix: Early Days of Self-Applicable Partial Evaluation (Invited Co...
summary
Forty years ago a small team builds Mix, a Lisp-based partial evaluator, and by late 1984 finally achieves practical self-application, proving the second and third Futamura projections generate compilers automatically. Key concrete moves: redesign subject language (single-parameter Lisp → multi-function core), add manual annotations to control unfolding, then automate them with binding-time analysis. Experiments produce a nontrivial self-application (one run filled department disk with the huge residual), subsequent papers and a 1989 book codify the techniques and tools.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:08Copenhagen CS in the 1970s
- 6:11Neil Jones joins department
- 8:19Mix as student project
- 10:30Self-application success 1984
- 12:00Language for self-application
- 16:33Binding time analysis
- 20:26Why binding time analysis worked
- 24:42Function call annotation
- 27:14Fun with Partial Evaluation
- 29:03Neil Jones' book
- 30:07PEPM and Mix legacy
related talks
01h 01mA partial history of partial evaluation
09mCompilers for nothing, executables for free!
01h 06mWhy are partial evaluation and supercompilation still not widely used in practic
22mA Vision of Miking: Interactive Programmatic Modeling, Language Composition, and Compilation
46mDr. Futamura and the Projection Machine: From Interpreters to Compilers
44mLet's Lisp like it's 1959
27mTowards Type Debugging using Partial Evaluation
44mThe Dawn of Lisp, or How to Write Eval and Apply in Clojure
