Playlist | schedule page slides as PDF |
Binding 1 — let (3:11)
Introduction for the let local binding form. Also, we switch our notation for describing Moe’s grammar to a more conventional Backus-Naur Form (BNF).
Binding 2 — parse (0:49)
Adpating parse for let.
Binding 3 — subst (3:36)
Updating subst to handle local bindings. See let.rhm.
Binding 3a — box notation (0:23)
Introducing some notation: boxes around Moe programs to represent parsed programs.
Binding 4 — deferred substitution (2:00)
PLAI§6. Deferring subsitution as motivated by performance concerns.
Binding 5 — environments (2:31)
The environment data structure and helper functions to implement deferred substitution. See env.rhm.
Binding 6 — interp (3:18)
Updating interp to use environments, which completes env.rhm.
Binding 7 — terminology (2:45)
Terminology: binding, bound, and free.