Yes, it really is like MonadIO -- just capable of being used to produce guaranteed purely functional results ^^
Louis Wasserman
wasserman.louis@gmail.com
Btw. there is now also the "transformers" package. It's Haskell 98, however this is certainly not an issue for you, since higher-rank-types as in runST are not Haskell 98 anyway.
On Mon, 16 Feb 2009, Louis Wasserman wrote:
I just posted stateful-mtl and pqueue-mtl 1.0.2, making use of the new approach to
single-threaded ST wrapping. I discovered while making the modifications to both packages that
the MonadSTTrans type class was unnecessary, enabling a cleaner integration with mtl proper. I'm
pretty confident that this approach is airtight, but let me know if you encounter contradictions
or problems.