MonadIO in mtl and transformers

wren ng thornton wren at
Mon Dec 21 05:09:27 EST 2009

Antoine Latter wrote:
> Michael Snoyman wrote:
>> Is there any reason to export only MonadIO? MonadTrans seems like a good
>> candidate for that split as well.
> I guess I've never need the 'lift' function outside of code which used
> other bits of the mtl, so I did not export it.
> I'm struggling to come up with a concept which would unify a package
> containing both the MonadIO class and the MonadTrans class. The mtl
> made sense, as it contained shed-loads of other classes.

Maybe it'd be worth just rolling into base, instead of a separate 
package? Both MonadTrans and MonadIO seem as basic to me as MonadPlus. 
And I don't recall there ever being controversy about the design of 
either class. (Moving them to base may mess up folks using new base + 
old mtl ...but that seems fixable by forcing old+old or new+new.)

Live well,

More information about the Libraries mailing list