
On Thu, Sep 16, 2010 at 11:10:37AM +0200, Johan Tibell wrote:
On Thu, Sep 16, 2010 at 10:23 AM, Ross Paterson
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.