Proposal: Changes to the PVP

Ganesh Sittampalam ganesh at earth.li
Wed Apr 9 22:15:27 UTC 2014


On 09/04/2014 09:47, Michael Snoyman wrote:
> I would like to propose the following changes to the PVP. These are the
> same changes that I recently published on the Yesod blog[1]. For more
> information on the motivations behind these changes, please see that
> blog post.
> 
> 1. The goal of the PVP needs to be clarified. Its purpose is not to
> ensure reproducible builds of non-published software, but rather to
> provide for more reliable builds of libraries on Hackage. Reproducible
> builds should be handled exclusively through version freezing, the only
> known technique to actually give the necessary guarantees.

-1: as discussed in this thread, this seems to be based on a strawman.

I am also against any mention of version-freezing in the PVP as I think
it is an orthogonal concept.


> 3. We should be distinguishing between mostly-stable packages and
> unstable packages. For a package like text, if you simply import
> Data.Text (Text, pack, reverse), or some other sane subset, there's no
> need for upper bounds. (Note that this doesn't provide a hard-and-fast
> rule like the current PVP, but is rather a matter of discretion.
> Communication between library authors and users (via documentation or
> other means) would be vital to making this work well.)

-1: I don't want to have to read 20 sets of documentation to set the 20
dependencies in my package.

> 4. For a package version A.B.C, a bump in A or B indicates some level of
> breaking change. As an opt-in approach, package authors are free to
> associated meaning to A and B beyond what the PVP requires. Libraries
> which use these packages are free to rely on the guarantees provided by
> package authors when placing upper bounds. (Note that this is very
> related to point (3).)

-1: this doesn't add anything to the PVP

Ganesh



More information about the Libraries mailing list