Yes but, for instance, every library which provides monad transformers will provides a MTL's MonadTrans instance, not a monadLib's MonadT instance.
And since a library hides its types internals, you cannot write the MonadT instances yourself.
For instance, I was planning to translate a little program of mine (which uses quite heavily monad transformers) to monadLib. It uses the packages operational which is based on MTL, and I cannot make myself operational's transformers instances of MonadT.
How would you solve that?
(btw, I like the fact that monadLib provides IdT ^^ (IdentityT))
Yves Parès <limestrael@gmail.com> wrote:In general this is a minor problem. Note that when using a monad from
> monadLib looks nice, indeed, but the major problem with using it
> resides in the fact that most of the libraries on hackage use MTL.
> Must be tedious to have to use two monad libraries at the same time...
another library usually you get provided with a type alias (or even a
newtype) and a number of convenience functions, so you don't have to
access names from both libraries at the same time.
I can only speak for myself, but I've never had a problem with this,
even though my packages often have lots and lots of dependencies.
Greets,
Ertugrul
--
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe