
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.)
A further concern is that we now have 138 packages whose dependencies exclude mtl-2 and 8 (and rising) whose dependencies require it. That will prevent an increasing number of packages from building.
Is that really the case? Libraries can build against older versions of another library? This gives library authors time to upgrade their dependencies and fix compilation errors. Problems should only show up when libraries don't follow the PVP.
% 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.