[Haskell-cafe] Removing mtl from the Haskell Platform

wren ng thornton wren at community.haskell.org
Thu May 14 18:18:20 EDT 2009

kahl at cas.mcmaster.ca wrote:
> 6) I haven't been able to pinpoint it in the Haddock docs,
>    but somehow Control.Monad.State re-exports Control.Monad,
>    which invalidates my explicit Control.Monad imports whenever I import
>    Control.Monad.State full and unqualified 

Many of the mtl modules do this, and I also find it irksome since it 
means having a list of imports which all duplicate the same "hiding 
(foo,bar,blatz)" annotation. Explicitly importing just the desired 
functions mitigates this, but it's still a bad API choice.

>    After all, I can use monads perferctly fine from the Prelude,
>    but have to
>    import Control.Monad (liftM)
>    all the time anyway... 

While we're on the topic ;)  it'd be *really* nice if the Haskell' 
Prelude exported MonadPlus along with the Monad stuff (or H' equivalents).

Live well,

More information about the Libraries mailing list