
Duncan Coutts wrote:
I propose two solutions:
* Fix the dependency resolver * Add support in Cabal and Hackage for suggested version constraints
Simon PJ just came up with a suggestion for the second part. The idea is this: If we see a dependency like "base >= 3" with no upper limit, we should satisfy it with base-3 in preference to base-4, on the grounds that the package is much more likely to build with base-3. This seems to be a solution that works without any magic shims or "preference files" or anything else. Perhaps we could even go as far as saying "base >= 3.0" is equivalent to "base == 3.0.*". i.e. if you don't supply an upper bound, then we'll give you a conservative one. I wonder how much stuff would break if we did that. Cheers, Simon