Playlist Additional playlist (optional) | schedule page slides as PDF |
Store 1 — intro (6:30)
PLAI§8.1. Introduction to state: what and why.
Store 2 — boxes (2:49)
Boxes are a simple stateful objects supported by built-in functions in plai-typed.
Store 3 — boxes as boxes (1:54)
Implemement a language with boxes by using plai-typed’s boxes. See box.rkt. Too easy.
Store 4 — store (5:23)
We’ll represent the state of programs in our interpreter explicitly as a store.
Store 5 — interp examples (7:01)
Example calls to interp showing the store as an argument and in the result.
Store 6 — interp (5:50)
Implementing interp. See store.rkt. Unlike the presentation in PLAI§8.1, we do not change the representation of environments to implement boxes (because boxes have nothing to do with the environment).
Store 7 — sweeter syntax (2:06)
Using syntactic sugar at the plai-typed level to make our interpreter’s implementation more readable. See store-with.rkt.
Store 8 — monad (10:20)
OPTIONAL! Even sweeter syntax. Watch this video only if you’re bored with the rest. See store-curried.rkt, store-uniform.rkt, store-do1.rkt, and store-do.rkt.