|Playlist||schedule page slides as PDF|
Let-Macro 1 — sugar (2:58)
Our usual core language, and then some thoughts on syntactic sugar that we might like to add. See core.rkt.
A refresher on S-expressions and introduction to untyped S-expressions.
Transformer functions on untyped S-expressions using primitive operations
Let-Macro 1c — case expander (3:31)
Expanding the case form as an untyped S-expression.
Let-Macro 3 — S-expressions (4:34)
Adding S-expressions to our core language as a step toward making the language extensible. See s-exp.rkt.
Changing the parser to support a let-macro form and to recognize uses of macro bindings. See let-macro.rkt.
Let-Macro 5 — hygiene (2:01)
Using gensym to avoid accidental capture of variables in a macro expansion. See gensym.rkt.