|Playlist||schedule page slides as PDF|
Control 1 — errors (7:04)
Implementing errors. The beginning of the video describes an implementation strategy, and the end summarizes the implementation. In between, we step through the details and motivation. See error.rkt.
Control 2 — try (3:15)
Introducing the try form for catching exceptions.
Control 3 — try interp (3:29)
Implementing Curly with try. See try.rkt.
Control 4 — let/cc (4:19)
Introducing the let/cc form.
Control 5 — let/cc interp (4:40)
Implementing Curly with let/cc. See letcc.rkt.
Introduction to using let/cc to implement higher-level language constructs, especially threads and generators. See also PLAI§14.
Implementing generators with let/cc. See generator.rkt.
Implementing threads with let/cc. See thread.rkt.