qualified imports, PVP and so on (Was: add new Data.Bits.Bits(bitZero) method)

John Lato jwlato at gmail.com
Tue Feb 25 07:45:57 UTC 2014


On Mon, Feb 24, 2014 at 11:21 PM, Sven Panne <svenpanne at gmail.com> wrote:
>
>
> Regarding upper bounds: I never understood what their advantage should
> be, IMHO they only lead to a version hell where you can't compile your
> stuff anymore *only* because of the bounds, not because of anything
> else.


IMHO this is a bad enough outcome, but it can also allow you to compile
code in a way that it behaves incorrectly (if a function's behavior has
changed but the type has not).  It also leads to a situation where cabal
generates what it thinks is an acceptable dependency solution, but that
solution fails, making the user need to solve the dependency tree
themselves and specify constraints on the cabal command line.

This is reason the PVP specifies upper bounds on versions: it makes that
work the responsibility of the developer rather than the user.  At the time
the PVP was introduced, users often experienced serious hardships when
installing various combinations of packages, and IIRC it was widely
perceived that developers should shoulder the load of making sure their
packages would work together as specified.  However, I think the PVP may
have been a victim of its own success; user complaints about botched
installs and invalid install plans seem quite rare these days, and some
developers are pushing back against this extra workload.  (or maybe there
are no Haskell users?)

John L.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140224/a03effe9/attachment.html>


More information about the Libraries mailing list