
On Wed, Apr 9, 2014 at 9:05 AM, Johan Tibell
On Wed, Apr 9, 2014 at 5:35 PM, Greg Weber
wrote: One thing to keep in mind is that version freezing is only for application builders, that information probably needs to be included in information that educates about PVP vs. reproducible build.
Linking to the reddit discussion, a comment that had the most upvotes was completely confused on reproducible builds, here is the commenter's explanation of what a reproducible build is:
You're probably right; Simply stated, I considered "reproducible build" to mean that if there was a package on Hackage that I could cabal install foobar with a given GHC version at some point in time, I would be able to do that for each later point in time (e.g. 1 year later) using the very same GHC version (at least). Isn't that was the PVP was created to accomplish in the first place?
http://www.reddit.com/r/haskell/comments/22jlis/proposal_changes_to_the_pvp/...
He/she doesn't seem to be confused. He/she is just using a different meaning of the term "reproducible" than you and me i.e. meaning "if it built before it should still build". Such confusions are easily resolved by defining the terms one use in advance.
Sure, but the commenter did define their exact meaning of reproducible and stated they think that is what the PVP is for. This appears to be the definition of being confused about what the PVP is meant for. There isn't any situation in which the train of thought expressed here is useful in practice, particularly since we know that the PVP does not actually guarantee a package will install. The useful train of though is to distinguish between applications and libraries and state how dependency freezing is necessary for applications.