|Playlist||schedule page slides as PDF|
Let-Macro 1 — sugar (2:30)
Starting with a typical variant of Curly, some thoughts on syntactic sugar that we might like to add. See core.rkt.
A refresher on S-expressions in Plait and an introduction to untyped S-expressions.
Transformer functions on untyped S-expressions can be written using just a few using primitive operations.
Expanding the case form as an untyped S-expression.
An extensible parser is nice, but an extensible language is better. To turn Curly into an extensible language, we’ll need S-expression values in Curly and a let-macro form.
Adding S-expressions to Curly. See s-exp.rkt.
Changing the parser to support a let-macro form and to recognize uses of macro bindings. See let-macro.rkt.
A further look at the full parser implementation and tests.
Let-Macro 10 — gensym (2:19)
Using gensym to avoid accidental capture of variables in a macro expansion. See gensym.rkt.