Lectures

letrec, quasiquote, and match

Programming-languages work constantly crosses a boundary between using Racket syntax and representing syntax as data. Quasiquote makes symbolic data convenie...

Lexical and dynamic scope

When a program contains a variable reference, which declaration gives that reference its value? A language’s scope rule answers that question. Two languages ...

Registerization

The original, general transformation development remains on Jason Hemann’s site as Representation Independence Procedure. This course companion uses factoria...

Store-passing style

Store-passing style (SPS) makes changing state explicit. An SPS procedure receives the current store and returns both its ordinary value and the store that t...