
On Wed, 2009-11-18 at 00:57 +0000, Ross Paterson wrote:
According to Ganesh's survey, 17 packages (and their dependents) on hackage would be broken by turning mtl into a compatibility layer over transformers+monads-fd. They would need to be updated, but need not switch to monads-tf or monads-fd. Or they could avoid breakage by adding a dependency mtl < 2. Individual packages could switch to the new packages at their leisure.
Ross, if the plan is to have the new combined package be mtl-2.x then you might as well go ahead and modify the preferred-versions[1] file to add: mtl < 2 Then cabal-install will then use the old mtl for all the old packages that do not use an upper bound. We should also add mtl to the list packages to check in Distribution/PackageDescription/Check.hs. At the moment it's hard-coded to be a list of 1 (base), so that'd need doing too. This would eventually be replaced by a generic way of opting into the regime. Or, if you all think the amount of breakage is not that great, and it'd be simpler just to fix the packages affected, then do nothing :-) If you are modifying the preferred-versions file, would you mind sticking in: cabal-install < 0.8 because I'm about to release both cabal-install-0.6.4 and 0.8.0, but I don't want everyone getting prompted to update to 0.8 immediately (cabal tells you when newer versions of itself are available). Duncan [1] http://hackage.haskell.org/packages/archive/preferred-versions