Haskell Platform Proposal: add transformers and revise the mtl package to depend on it

Ross Paterson ross at soi.city.ac.uk
Thu Sep 16 07:50:08 EDT 2010

On Thu, Sep 16, 2010 at 11:10:37AM +0200, Johan Tibell wrote:
> On Thu, Sep 16, 2010 at 10:23 AM, Ross Paterson <ross at soi.city.ac.uk> wrote:
>      * 41 failed with the new mtl:
>        * 11 because they defined their own Applicative instances (which can
>          now be deleted)
>        * 11 because of the changed constraint on Functor instances
>        * 15 that used the constructors of base monads (which can be trivially
>          replaced)
>        * 3 that defined instances for base monads
>        * 1 that defined an overlapping Error instance
> Should we try to get these 41 package to add an upper bound on
> their mtl dependency before mtl-2 is released so they don't break?
> The authors could then migrate their code over to mtl-2 as soon as it
> has been published.

If this proposal is adopted, sure, though upper bounds do cause other
packages to break due to incompatible constraints.  In the case of those
with the Functor instance problem we can often do something that works
both with the current version and the proposed version: either add a
Functor instance for the argument monad or a Functor constraint to a
type signature.

More information about the Libraries mailing list