# from John Peacock
# on Monday 20 April 2009 04:16:
>> All of the trouble we've ever had is just that X.Y happens to look
>> like some kind of a number and like a dotted 2-tuple. But instead
>> of perl version 5.564.0 or 6.0.x, it was 5.5.640.
>
>X.Y is a [floating point] number and is in fact described that way in
> the Perl documentation as appropriate to be used as $VERSION.
So? It is a special case, and comparing it to a dotted tuple is still
an exception. The confusion about extended versions all centers on
this.
>Here is a portion of my CPAN directory:
> ...
0.0905 -> v0.90.5
0.0906 -> v0.90.6
0.0907 -> v0.90.7
0.0908 -> v0.90.8
0.0909 -> v0.90.9
0.091 -> v0.91.0
0.0911 -> v0.91.1
> The $VERSION's listed above only make sense if you compare them as
> numbers, not as tuples.
Sure, you can't just treat a float as a tuple without fixing the width
of the second column. I imagine this is where everybody gets confused
and I think all we need to do is explain that.
X convert to vX
X.Y convert to vX.Y00
X.YY convert to vX.YY0
X.YYY convert to vX.YYY
X.YYYZ convert to vX.YYY.Z00
vX sort as a dotted tuple
vX.Y sort as a dotted tuple
vX.Y.Z sort as a dotted tuple
vX.Y.Z.A sort as a dotted tuple
Perhaps the dotted tuple with the leading 'v' should be the canonical
form for META.yml? (Deprecate the float form and include something
like the above conversion explanation.)
--Eric
--
"You can't win. You can't break even. You can't quit."
--Ginsberg's Restatement of the Three Laws of Thermodynamics
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------