On Wed, Feb 26, 2014 at 2:39 PM, Ivan Lazar Miljenovic <ivan.miljenovic@gmail.com> wrote:
On 26 February 2014 23:25, Herbert Valerio Riedel <hvr@gnu.org> wrote:
> On 2014-02-26 at 13:09:37 +0100, Michael Snoyman wrote:
>
> [...]
>
>> +1. If we're discussing PVP changes, the other one I'd like to propose is:
>>
>> Don't include upper bounds on base, template-haskell, or other libraries
>> which cannot be upgraded, unless you know with certainty that your package
>> will not compile with those other versions. Motivation:
>>
>> * The bounds will never help cabal choose a better build plan.
>
> ...this assumes (as I mentioned in an earlier post) that GHC is never
> going to ship again with two versions of base (like in the past with
> base3/4). For that case, we'd want at least something like `base < 5` as
> upper bound in place (with the policy that `5.*` will only ever be
> reached if something really disruptive is done to `base`)

Agreed; there were a few packages that failed on Gentoo because the
author stated that it worked with "base < 5", even though they'd only
tested it with cabal-install and at the time it was defaulting to
base-3 (though using the runhaskell Setup.hs method used the "best
version").

That might be reasonable for the other such libraries though.  But to
be specific: are we including libraries such as bytestring,
containers, etc. as those that can be upgraded or cannot be upgraded?

I'm making the more modest proposal, and just focusing on libraries which cannot at all be upgraded.

Michael