Move MonadIO to base

Michael Snoyman michael at
Sun Apr 11 01:02:34 EDT 2010

On Sat, Apr 10, 2010 at 8:35 AM, Twan van Laarhoven <twanvl at>wrote:

> 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.
> Twan
> [1]
> [2]
> +1 from me as well, I just wrote some code that would *love* to have
MonadIO available but I couldn't tie down to mtl or transformers.

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Libraries mailing list