
On Thu, Nov 4, 2010 at 6:05 PM, Ross Paterson
On Thu, Nov 04, 2010 at 05:39:29PM +0100, Johan Tibell wrote:
So all these libraries are missing an upper bound on their mtl dependencies?
I think it would be better if they were upgraded to mtl-2, or made to work with both versions. (If the problem is a Functor constraint, this can be done by just adding such a constraint in addition to the Monad constraint, as was just done to the cgi package.)
I agree! I meant, if libraries would follow the PVP they won't immediately break when a new version comes out, giving the maintainers some time to upgrade.
% cabal install --dry-run atomo-0.2 Resolving dependencies... cabal: cannot configure monads-fd-0.1.0.3. It requires mtl ==2.* For the dependency on mtl ==2.* there are these packages: mtl-2.0.0.0. However none of them are available. mtl-2.0.0.0 was excluded because haskeline-0.6.3.1 requires mtl ==1.1.*
This will become more common as more packages are upgraded to mtl-2.
Diamond dependencies like these are indeed a problem. I don't have a better way to solve them except patching the libraries. The alternative would be to never make any breaking changes. Johan