Compilers for nothing, executables for free!
summary
Claim: partial evaluation can take an interpreter plus a fixed program and produce a standalone executable, and further specializing the specializer yields a compiler for free. Example given: jamming a vimrc into vim to inline constants and unroll loops produces a smaller, faster residual vim. Tooling is specialiser and partial evaluation; historically fragile and slow but now practical with Futamura projections and systems like pie pie and truffle and garlic and lvm; previous attempts are hard but recent JIT work shows it works.
AI-written summary · about
chapters (7)
- 0:00Intro
- 0:27The Problem
- 1:41Partial Evaluation
- 3:26Interpreters vs Compilers
- 4:13Residual Programs
- 6:11Why
- 7:56Resources
related talks
01h 01mA partial history of partial evaluation
01h 06mWhy are partial evaluation and supercompilation still not widely used in practic
20mPartial Evaluation, Whole-Program Compilation
46mDr. Futamura and the Projection Machine: From Interpreters to Compilers
07mFutamura Projections
59mCompilers can be surprising
59mSupercompilation, Partial Evaluation, Futamura Projections and How GraalVM Will Save the World
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
