
I think lens[1] is a good example of a package that uses both major numbers
effectively. The second number is bumped each time there is a
backwards-incompatible change, and the first number is bumped each time
there is a *major* organizational change in the library. (It's up to 4 now.)
To me, this approach makes sense because not all breaking changes are the
same. Sometimes you just want to tweak a single call for whatever reason
(maybe security), and sometimes you want to reogranize the whole package,
move around major modules... etc. Putting both kinds of changes behind the
same version number seems a bit awkward.
[1]: https://hackage.haskell.org/package/lens
On Mon, Dec 15, 2014 at 5:49 PM, Brandon Allbery
On Mon, Dec 15, 2014 at 8:42 PM, Zach Moazeni
wrote: Forgive me if this is a frequently asked question, I've searched the web and can't find an answer. I originally sent this to the Beginners list and someone said this might get more responses here instead.
What is the history that led up to the PVP https://www.haskell.org/haskellwiki/Package_versioning_policy
specifying two values as the major version?
One clue might be that that is how GHC itself is versioned.
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe