Monadic compilers
These are notes for our class on a monadic design for compilers. The notes provide motivation for the design, and incrementally develop the design, culminating in an implementation that uses monad transformers.
Note
The design on these pages is slightly different than the one presented in class. The changes are just to make the explanations a little clearer (I hope!). They do not impact the design in a significant way.