Re: [Haskell] Package "mounting" proposal

Stefan Karrmann
1. Add a field to the package description of foo (v1.4, say) that says "I'm backwards-compatible with 1.3." When building, this relation would have to be inspected to see whether any currently installed version of foo satisfies the dependency specified by the mount. 2. Declare a convention for version numbers to carry compatibility information, like the OpenGL standard, for example: If the new version is backwards-compatible, only the minor version number changes. If it isn't, the major version number must be incremented.
I prefer 1. The FSF use 2 for its GNU software and others started with it, too. But after a while most of them tend to increase major numbers. E.g. 3.0, 3.11, 95, 98, 2000
Remember, that I would be proposing a _formal_ requirement of this convention. And also that we're talking about Haskell libraries, not commercial software like MS Windows, as your example seems to suggest. Further, I suspect your mention of GNU projects starting with and later forgetting about such a convention to be moot: They most likely didn't have a documented standard requiring it and large body of software (and users) that assumes it. But the former is what we could form and the latter is what will form. Like I said, OpenGL is an example where such a scheme is in place, and everyone is very happy. Also note my later remark in the original mail about "shifting" the convention down by one component of the version number to free the major version for increments at "psychologically" desirable points, whatever that means. Sven
participants (1)
-
Sven Moritz Hallberg