Playlist | schedule page slides as PDF |
Store 1 — intro (6:16)
PLAI§8.1. Introduction to state: what and why.
Store 2 — boxes (3:07)
Boxes are a simple stateful objects supported by built-in functions in Shplait.
Store 3 — boxes as boxes (3:24)
Implemement a language with boxes by using Shplait’s boxes. See box.rhm. This is too easy and not especially revealing about how state works.
Store 4 — store (6:11)
We’ll represent the state of programs in our interpreter explicitly as a store.
Store 5 — interp examples (3:30)
Example calls to interp showing the store as an argument and in the result.
Store 6 — interp (6:41)
Implementing interp. See store.rhm.
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:37)
Using syntactic sugar at the Shplait level to make our interpreter’s implementation more readable. See store_reslet.rhm.
Store 8 — in media res (2:57)
Examples taking advantage of the functional design of interp to explore the implementation of state in Moe.