Proposal: Changes to the PVP

Daniel Trstenjak daniel.trstenjak at gmail.com
Wed Apr 9 11:12:44 UTC 2014


Hi Michael,

On Wed, Apr 09, 2014 at 01:29:18PM +0300, Michael Snoyman wrote:
> * From a library maintainer standpoint: decreased maintenance overhead. Being
> able to say `text < 2` or `case-insensitive < 2` means less time spent fiddling
> with cabal files.

I think that's mostly a tooling issue. It was my main motivation for
writing 'cabal-bounds' (https://github.com/dan-t/cabal-bounds).

> * From a library user standpoint: it makes it less likely that you'll run into
> a case where cabal cannot create a build plan. If package foo places a
> restrictive upper bound on text of `text < 1.1`, and package bar starts using a
> new feature in text 1.1 and therefore has a bound `text >= 1.1`, the user won't
> be able to use foo and bar together until the author of foo bumps the version
> number.

Yes, that's certainly a problem, but otherwise you also can't be sure
that 'text 1.1' didn't introduce a breaking change.

So with the new cabal flag '--allow-newer' the user could still try to build
with 'text 1.1' and the package could still indicate that it wasn't tried
with 'text 1.1', which at the end seems to be the best of both worlds.


Greetings,
Daniel


More information about the Libraries mailing list