Could iteratee depend on mtl instead of transformers?
Ross Paterson
ross at soi.city.ac.uk
Tue Nov 17 11:04:30 EST 2009
On Tue, Nov 17, 2009 at 09:09:07AM -0500, Edward Kmett wrote:
> I like that transformers is Haskell 98 and presents a common core. I
> think that factoring it out is a laudable goal.
>
> However, my very problem is that monads-fd and monads-tf are mutually
> incompatible. It fragments the community of monad combinator users
> even further.
>
> If monads-fd sat in the existing location of mtl or was exported there
> by an mtl compatibility layer and monads-tf used a different namespace
> then you would have a clean solution in which both could be used in
> the same code, because both could be loaded.
The proposal is to make the next version of mtl a near-compatibility layer
over monads-fd and transformers; it doesn't involve monads-tf directly.
We could just rename all the modules in monads-tf (which aimed to mirror
mtl-tf), or perhaps rename the modules in both monads-fd and monads-tf.
Perhaps we should trim both packages to just the class modules (the others
are re-exports mirroring mtl) and relocate those in the module hierarchy:
Control.Monad.Cont.Class
Control.Monad.Error.Class
Control.Monad.RWS.Class
Control.Monad.Reader.Class
Control.Monad.State.Class
Control.Monad.Writer.Class
They both have the same Cont class; it need not be duplicated.
More information about the Libraries
mailing list