On Mon, Feb 22, 2010 at 4:38 PM, Daniel Ruoso <dan...@ruoso.com> wrote:
> And my point is precisely that the spec doesn't define it because it is
> implementation and architecture dependant.

And what's the point of making it so?  If you require arithmetic
results in TAI seconds, I don't see the benefit of not specifying the
epoch, since conversion to and from the epoch would be a simple
addition or subtraction -  much less expensive than converting from
the internal TAI representation to civil time or back.

> The point is that you shouldn't use a number alone to represent an
> instant

But why not?  An instant is just a point on the number line (of the
coordinate time in question, which we've established as TAI).  A
number is an eminently reasonable representation of a point in
one-dimensional space.  But only if you have a well-defined origin.


> Note that not even the TAI coordination happens in terms of "number of
> seconds since X", but rather happens in terms of Gregorian or Julian
> dates.

Exactly. See below.

> The biggest difference proposed by the use of TAI is that when you ask
> for the number of seconds between "2008-12-31T23:59:59+0000" and
> "2009-01-01T00:00:00+0000" you'll get 2 because of the leap second.

But that's not true unless those two strings are given in UTC.  In
TAI, 2008-12-31T23:59:59Z was followed by 2009-01-01T00:00:00Z only
one second later.

That's because, as you say, TAI is not just a count of seconds - it is
a fully-specified date/time value, with year, month, day, hour,
minute, and second - and it doesn't match civil  clocks.

If the interface between Perl time and human time is going to be done
through UTC, then I don't see the point in specifying that it's TAI
behind the scenes.  Especially if you're not specifying the epoch.
The number of seconds between two points in time in UTC is exactly the
same as the number of seconds between two points in time in TAI, by
definition. Only the labels differ.  And if, as you imply above, the
labels will be UTC - which they pretty much have to be since that's
what humans use - then Perl6 is using UTC, not TAI.  It's just using
*real* UTC, not POSIX's broken idea of it that claims 24 seconds out
of the past 40 years never happened.


-- 
Mark J. Reed <markjr...@gmail.com>

Reply via email to