Coursera Spring Sale
40% Off Coursera Plus Annual!
Grab it
Explore a groundbreaking computer science presentation from POPL 2018 that demonstrates how to collapse multiple layers of interpreters into a single-pass compiler, significantly improving runtime performance. Learn about a novel multi-level lambda calculus featuring staging constructs and stage polymorphism, which allows evaluators to either execute source code as interpreters or generate code as compilers based on runtime parameters. Discover Pink, a meta-circular Lisp-like evaluator that can collapse unlimited levels of self-interpretation, including those with semantic modifications. Examine practical applications including regular expression compilation through interpreters, program transformer construction, and the development of Purple - a reflective language capable of dynamic semantic modifications within a conceptually infinite tower of interpreters. Understand how this research addresses the challenge of compiling and recompiling user programs under user-modified semantics, with demonstrations using Scala and Lisp implementations.