The Tech
This is a brief overview of some of the pieces that I've used to make this project.
The Model
Pretty much a clone of Inform7
semantically, but with less flexibility at runtime -- the world model structure is fully defined at compile time, so adding new objects is easy during play but adding new kinds is not -- in exchange for nicer handling of the world model as a collection of possibly uninteresting objects (rather than a small, but very explicit set of 'interesting' ones).
Haskell
Mostly it's optics
(as my lens package of choice), cleff
(as my effects/mtl replacement package of choice) and sandwich
(as my test framework of choice).
Literate Programming
entangled
The Book
mdBook