# 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
---------------------------------------------------

Reply via email to