John Peacock wrote:
> Michael G Schwern wrote:
>> Let's count the different ways we might have to parse a version.
>>
>> X    ok, sort it as a number.
>> X.Y  hopefully that's a decimal number and not a dotted pair
>> X.Y_Z        oh right, alpha versions.  Strip _Z off and sort as X.Y
>> X.Y.Z        dotted triad.  split and compare X, Y and Z individually
>> vX.Y dotted pair?
> 
> I step away from the computer to spend a quiet Shabbat with my family and look
> what happens! ;-)
> 
> What the current discussion is missing is that version.pm came _after_ this 
> mess
> was already in effect.  It was written as reaction to the madness.  It is the
> One Version Module to Rule Them All (we were listening to /The Hobbit/ on our
> recent Spring Break to the Midwest).

I understand version.pm was written in reaction to the 5.5 v-string madness,
but that madness was dying off.  version.pm has created a new sort of madness.

Herein lies the problem:  We can't put into the META.yml spec and informal
archive naming conventions "run version numbers through version.pm to figure
out what they mean".  Its not much of a spec if it contains opaque software.
This brings us back to "only perl can parse Perl".

Similarly, the answer that "the Perl toolchain deals with it just fine" is the
provincial view that Perl is the only thing that's going to be dealing with
Perl, or the arrogant view that everyone else's tools will be written in Perl.
 What about everyone else?  Perl programmers can't even get it right, forget
about operating system vendors.

So the answer of "just let version.pm figure it out" is unsatisfactory.


> The urge to force $version->numify in META.yml is understandable, but it is
> flawed.  While the numified $VERSION can be compared (with version.pm) to the
> extended form, they are not the same thing.  There is information lost.  As
> such, I would not suggest it be used as Michael is suggesting.

If that is the case, then I'd just numify it everywhere and be done with them.

I'm sorry John, your years of work are laudable, but I have to treat it as a
sunk cost.  It's not worth the moles of electrons that have been spilled and
code modified to support an object system for a piece of data whose primary
attributes are to be easy to sort and increment.  I should not have to read
anything to figure that out.

That said, I'm not quite ready to pull the trigger just yet.  X.Y.Z versions
do have merit, its the current system that's lamentable, dragging around the
compatibility baggage of the 5.005 -> 5.6 change.  Given that version.pm is on
the chopping block, at least as MakeMaker is concerned, I'd like to try some
radical things.  Next post.


-- 
Reality is that which, when you stop believing in it, doesn't go away.
    -- Phillip K. Dick

Reply via email to