Hi Michael,
I think that's mostly a tooling issue. It was my main motivation for
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.
writing 'cabal-bounds' (https://github.com/dan-t/cabal-bounds).
> * From a library user standpoint: it makes it less likely that you'll run intoYes, that's certainly a problem, but otherwise you also can't be sure
> 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.
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.