Playlist | schedule page slides as PDF |
Compilation 1 — lexical scope and addresses (4:00)
Lexical scope lets us predict, before running a program, where in the environment each variable will appear.
Compilation 2 — compile examples (3:07)
Compiling from names to positions as illustrated by examples.
Compilation 3 — compile (4:41)
Implementing the compiler from names to positions. See 0.rkt versus 1.rkt.
Compilation 4 — toward machine code (1:49)
Considering how to translate our interpreter from Plait to machine code.
Compilation 5 — continuations and function calls (4:04)
Converting the interpreter to avoid implicit continuations and and function calls. See 2.rkt and 3.rkt.
Compilation 6 — allocation (3:06)
Converting the interpreter to make allocation explicit.
Compilation 7 — interp with malloc (2:36)
The converted interpreter that uses malloc. See 4.rkt.