Yes, it really is like MonadIO -- just capable of being used to produce guaranteed purely functional results ^^<br clear="all">Louis Wasserman<br><a href="mailto:wasserman.louis@gmail.com">wasserman.louis@gmail.com</a><br>

<br><br><div class="gmail_quote">On Wed, Feb 18, 2009 at 5:43 PM, Henning Thielemann <span dir="ltr">&lt;<a href="mailto:lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
On Mon, 16 Feb 2009, Louis Wasserman wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I just posted stateful-mtl and pqueue-mtl 1.0.2, making use of the new approach to<br>
single-threaded ST wrapping.&nbsp; I discovered while making the modifications to both packages that<br>
the MonadSTTrans type class was unnecessary, enabling a cleaner integration with mtl proper.&nbsp; I&#39;m<br>
pretty confident that this approach is airtight, but let me know if you encounter contradictions<br>
or problems.<br>
</blockquote>
<br></div>
Btw. there is now also the &quot;transformers&quot; package. It&#39;s Haskell 98, however this is certainly not an issue for you, since higher-rank-types as in runST are not Haskell 98 anyway.</blockquote></div><br>