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.