
On Sat, Apr 10, 2010 at 10:35 AM, Twan van Laarhoven
Hello,
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.
This has been previously discussed [1,2], but as far as I know nothing ever came of it.
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.
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.
+1 from me. Sorry for dropping the last thread, but that was the conclusion it seemed to come to. I'm not as sure about moving MonadTrans to Base, but that's because I never use it. Antoine