Compilation 1 — lexical scope (3:58)
Lexical scope let us predict where in the environment a variable will appear.
Compilation 2 — compile (7:43)
Compilation 3 — machine code (1:26)
Considering how to translate our interpreter from plai-typed to machine code.
Compilation 4 — continuations and function calls (5:13)
Converting the interpreter to avoid implicit continuations and and function calls. See 2.rkt and 3.rkt.
Compilation 5 — allocation (7:30)
Converting the interpreter to make allocation explicit. See 4.rkt.
Compilation 6 — classes (2:45)
Class-based types let us predict where a field or method will be found.