On Mon, 2005-08-15 at 22:24 -0700, Larry Wall wrote:
> : > That's my leaning--if I thought it might encourage the abandonment of
> : > civil leap seconds, I'd be glad to nail it to Jan 1, 2000, 00:00:00.0 UTC.
> : If we're going with TAI, can't we just nail it to the epoch it defines,
> : instead?
> Because I'm a megalomaniac, silly dilly.  Plus I like round numbers.
> Not to mention the fact that it makes it really easy to calculate days
> since 2000, give or take a squishy leapsecond or three.
> But the best part is that if we abandon UTC leap seconds for civil time,
> we don't have to remember leap seconds going forward, only backward from
> 2000.

Why on earth would you want to encourage such a short sighted
programming practise?  The earth wobbles like a spinning top.  In fact
its speed increased after the two major Earthquakes in Antarctica and
Indonesia last December.  Subtle adjustments are necessary to track
this; perhaps including the possibility that the Earth's rotational
speed might change by more than one second per day.  Just why were the
Mayan, Babylonian and Aztec calendars 360 days long, anyway?  Were days
20 minutes longer then?  These are questions I've been wondering as an
old machine I have loses about this amount ... it would certainly
explain it if the machine was actually so old it used a Mayan timer
chip.  (Sometimes the impossible has a coherency to it that the merely
improbable simply lacks...)

How about killing the argument by saying the epoch is only guaranteed by
the language to be relative to the same value within the lifetime of a
script, relative to 0.0 TAI in 1958 or whenever it was.  Then Perl 6
implementations are free to pick their own epoch, and possibly also
annotate the time via traits/properties as not being confirmed to be NTP
synced, etc.  Date modules (which, really, people should be using) then
have something sensible to work with and can easily provide the
alternate times.  Environments that really can't guarantee an absolute
epoch can simply return unanchored times and let the modules throw
exceptions when you try to convert them to real times or times with
impossible levels of accuracy.

Sam.

Reply via email to