Proposal: Changes to the PVP

Johan Tibell johan.tibell at gmail.com
Wed Apr 9 09:31:57 UTC 2014


(1) I would never say no to making something more clear. The goal is
currently given in the first few paragraphs of the PVP. Please give the
actual text you'd like to see.

The current goal can be summarized as: give a meaning to version numbers.
The reason for that goal was problems with unbuildable packages that we
experienced prior to the PVP.

I don't see how the PVP as written anywhere suggests that the PVP aspires
to provide reproducible builds. It only talks about compatible APIs.

(2) I'm somewhat ambivalent about removing the upper bounds for the 3
packages that are not upgradable (base, template-haskell, and ghc-prim). On
one hand removing upper bounds doesn't introduce additional breakages and
avoids having maintainers bump bounds on each GHC release* (~yearly), but
on the other hand it creates worse error messages**. The solver could tell
the user "Your package doesn't work with the version of base you have
installed." instead of giving them a potentially confusing compilation
error.

* I find it quite disconcerting that we bump the major version of base on
every release. We shouldn't make breaking changes to the most core of core
libraries on every release! I also note that GHC 7.4.1 seems to have bumped
the major version on base even though no breaking change was made:
https://www.haskell.org/ghc/docs/7.4.1/html/users_guide/release-7-4-1.html

** Although Cabal's dependency solver doesn't give the best messages today
either. But at least it could be improved.

(3) This is already the case. We just don't encourage authors to do it (as
maintaining version information in documentation rather than
machine-checkable contracts tends to be hard to maintain.)

-- Johan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140409/d9566e56/attachment.html>


More information about the Libraries mailing list