<br><br><div class="gmail_quote">On Sat, Apr 10, 2010 at 8:35 AM, Twan van Laarhoven <span dir="ltr">&lt;<a href="mailto:twanvl@gmail.com">twanvl@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello,<br>
<br>
<br>
<br>
Some people have remarked that the MonadIO class would be better of in the base package instead of mtl/transformers. It can be used largely independently from the monad transformers, and it is useful without them.<br>
<br>
This has been previously discussed [1,2], but as far as I know nothing ever came of it.<br>
<br>
If MonadIO were in base, then the base library itself could also use it. For example the functions in System.IO could be lifted to work on any MonadIO monad. Whether that is a good idea is completely orthogonal to this discussion, however.<br>

<br>
How hard would it be to make this change? For backwards compatibility mtl and transformers would need a check to see which version of base is used, or new versions of mtl/transformers should just not include MonadIO.<br>

<br>
<br>
Twan<br>
<br>
<br>
[1] <a href="http://www.haskell.org/pipermail/libraries/2009-December/012914.html" target="_blank">http://www.haskell.org/pipermail/libraries/2009-December/012914.html</a><br>
[2] <a href="http://hackage.haskell.org/trac/ghc/ticket/3777" target="_blank">http://hackage.haskell.org/trac/ghc/ticket/3777</a><div><div></div><div class="h5"><br></div></div></blockquote><div>+1 from me as well, I just wrote some code that would *love* to have MonadIO available but I couldn&#39;t tie down to mtl or transformers.</div>
<div><br></div><div>MichaelĀ </div></div>