Sat May 8 14:54:12 EDT 2010

Combining monads

So, the problem seems to be that I'll need the IO monad for stable
names (pointers) and a State monad for building the dictionary list.

I don't think I can build a "flat" monad that incorporates the IO
monad as the latter is abstract..  So how do you combine the IO monad
with a State monad?  The answer is to use monad transformers[2].

[1] http://www.haskell.org/all_about_monads/html/transformers.html