The version numbers used for released version of Hugs are unfortunate (at
best!), because the version number is not sufficient to identify a major or
minor release.

The original "Hugs 1.4" announcement (
http://www.haskell.org/hugs/announce.html ) is dated November 1997.

There is a release available from Jan. 1998 that also calls itself Hugs 1.4.

There is a release available from June 1998 that  also calls itself Hugs 1.4.

As far as I can tell, these are all separate versions of Hugs!  

Hence, in a bug report I recently submitted a few minutes ago regarding
Fran, I had to decribe Hugs not by its version number, but by its
(approximate) release date:  "Hugs 1.4 of June 1998", to make it clear that
I had the version of Hugs which includes Fran 1.12.  (As distinct from
"Hugs 1.4 of January 1998" which includes Fran 1.09!)

I suspect that the motivation for the Hugs version numbering scheme was a
desire to keep Hugs version numbers consistent with the Haskell Language
Report.  IMHO, there is little to gain from this scheme (since, ideally,
the language report is issued relatively infrequently).  And, as pointed
out above, there is much to lose, because the version number alone is not
sufficient to identify distinct releases.

Worse still, there is a potential nightmare scenario in the current scheme:
 Imagine spinning a major release of Hugs this month.  Under the current
scheme, that would be "Hugs 1.4 of January 1999".  Now, imagine that,
shortly after the release, most of the Civilized World downloads it, and
the release turns out to have some kind of horrible show-stopper bug.

Thankfully, the bug is easy to fix, but lots of people have already
downloaded the buggy version.  People need some easy way to figure out
whether they have the latest version.  But now, what will you call the
patched version?  You can't call it "Hugs 1.4 of January 1999" because
that's already taken.  Can't call it "Hugs 1.4 of February 1999" because it
isn't February yet.  Maybe "Hugs 1.4 of January 1999 Patch Level 1"?
Plausible, but not exactly elegant.  You can see where this is heading...

I would urge the Hugs maintainers to switch to a conventional version
numbering scheme with the next release, and call the next release "Hugs
1.5" or "Hugs 2.0", regardless of what version of the Haskell language is
implemented.  The Hugs web page and README for each release can specify
which version of the Haskell language is implemented in that release.

        -antony
----
Antony Courtney,
<[EMAIL PROTECTED]>
http://www.apocalypse.org/pub/u/antony

Reply via email to