GNU logs - #21912, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21912: TAI<->UTC conversion botches the unknown
Resent-From: Zefram <zefram@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 13 Nov 2015 16:45:01 +0000
Resent-Message-ID: <handler.21912.B.14474330962464 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 21912
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 21912 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.14474330962464
          (code B ref -1); Fri, 13 Nov 2015 16:45:01 +0000
Received: (at submit) by debbugs.gnu.org; 13 Nov 2015 16:44:56 +0000
Received: from localhost ([127.0.0.1]:37377 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZxHT5-0000dg-Lf
	for submit <at> debbugs.gnu.org; Fri, 13 Nov 2015 11:44:56 -0500
Received: from eggs.gnu.org ([208.118.235.92]:37965)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSl-0000dG-Qs
 for submit <at> debbugs.gnu.org; Fri, 13 Nov 2015 11:44:54 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSk-0005i6-BP
 for submit <at> debbugs.gnu.org; Fri, 13 Nov 2015 11:44:35 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:52842)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSk-0005i2-8Z
 for submit <at> debbugs.gnu.org; Fri, 13 Nov 2015 11:44:34 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:47967)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSj-0006IX-7U
 for bug-guile@HIDDEN; Fri, 13 Nov 2015 11:44:34 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSi-0005hS-8S
 for bug-guile@HIDDEN; Fri, 13 Nov 2015 11:44:33 -0500
Received: from river6.fysh.org ([2001:41d0:d:20da::2]:40025
 helo=river.fysh.org) by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <zefram@HIDDEN>) id 1ZxHSi-0005h7-0V
 for bug-guile@HIDDEN; Fri, 13 Nov 2015 11:44:32 -0500
Received: from zefram by river.fysh.org with local (Exim 4.80 #2 (Debian))
 id 1ZxHSd-0005q8-M0; Fri, 13 Nov 2015 16:44:27 +0000
Date: Fri, 13 Nov 2015 16:44:27 +0000
From: Zefram <zefram@HIDDEN>
Message-ID: <20151113164427.GS13455@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Probing the existence of leap seconds on particular days, via srfi-19's
TAI-to-UTC conversion.  The methodology here is to take noon UT on the
day of interest, convert to TAI, add 86400 seconds, then convert to UTC
and display.  The resulting time of day is 11:59:59 if there is a leap
second that day, and 12:00:00 if there is not.

scheme@(guile-user)> (use-modules (srfi srfi-19))
scheme@(guile-user)> (date->string (time-tai->date (add-duration (julian-day->time-tai 2455743) (make-time time-duration 0 86400)) 0) "~4")
$1 = "2011-07-01T12:00:00Z"
scheme@(guile-user)> (date->string (time-tai->date (add-duration (julian-day->time-tai 2456109) (make-time time-duration 0 86400)) 0) "~4")
$2 = "2012-07-01T11:59:59Z"
scheme@(guile-user)> (date->string (time-tai->date (add-duration (julian-day->time-tai 2457204) (make-time time-duration 0 86400)) 0) "~4")
$3 = "2015-07-01T12:00:00Z"
scheme@(guile-user)> (date->string (time-tai->date (add-duration (julian-day->time-tai 2457935) (make-time time-duration 0 86400)) 0) "~4")
$4 = "2017-07-01T12:00:00Z"

For 2011-06-30 it is correct that there was not a leap second, and for
2012-06-30 it is correct that there was.  But for 2015-06-30 it says
there was not a leap second, when in fact there was.  For 2017-06-30
it says there will not be a leap second, when in fact it is not yet
determined whether there will be.

Really both of these errors come from the same cause.  At the time
this Guile 2.0.11 was released, the leap status of 2015-06-30 had not
yet been determined.  Both 2015 and 2017 fall within the future period
beyond the scope of this Guile's static leap second knowledge.

The bug is not that Guile doesn't know that there was a leap second
in 2015.  As the 2017 case illustrates, it's impossible for it to
know all the leap second scheduling about which it can be asked.
The bug is that Guile *thinks* it knows about all future leap seconds.
It specifically thinks that there will be no leaps at all beyond the
historically-scheduled ones that it knows about.

Guile ought to be aware of how far its leap table extends, and signal
an error when asked to perform a TAI<->UTC conversion that falls outside
its scope.

-zefram




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.503 (Entity 5.503)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Zefram <zefram@HIDDEN>
Subject: bug#21912: Acknowledgement (TAI<->UTC conversion botches the unknown)
Message-ID: <handler.21912.B.14474330962464.ack <at> debbugs.gnu.org>
References: <20151113164427.GS13455@HIDDEN>
X-Gnu-PR-Message: ack 21912
X-Gnu-PR-Package: guile
Reply-To: 21912 <at> debbugs.gnu.org
Date: Fri, 13 Nov 2015 16:45:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 21912 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
21912: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21912
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21912: TAI<->UTC conversion botches the unknown
Resent-From: Mark H Weaver <mhw@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sat, 20 Oct 2018 22:25:02 +0000
Resent-Message-ID: <handler.21912.B21912.15400742605675 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21912
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Zefram <zefram@HIDDEN>
Cc: 21912 <at> debbugs.gnu.org
Received: via spool by 21912-submit <at> debbugs.gnu.org id=B21912.15400742605675
          (code B ref 21912); Sat, 20 Oct 2018 22:25:02 +0000
Received: (at 21912) by debbugs.gnu.org; 20 Oct 2018 22:24:20 +0000
Received: from localhost ([127.0.0.1]:33564 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gDzfP-0001TS-Tz
	for submit <at> debbugs.gnu.org; Sat, 20 Oct 2018 18:24:20 -0400
Received: from world.peace.net ([64.112.178.59]:35000)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1gDzfO-0001TF-07
 for 21912 <at> debbugs.gnu.org; Sat, 20 Oct 2018 18:24:18 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1gDzfH-0008Tn-3w; Sat, 20 Oct 2018 18:24:12 -0400
From: Mark H Weaver <mhw@HIDDEN>
References: <20151113164427.GS13455@HIDDEN>
Date: Sat, 20 Oct 2018 18:23:54 -0400
In-Reply-To: <20151113164427.GS13455@HIDDEN> (Zefram's message of "Fri, 13
 Nov 2015 16:44:27 +0000")
Message-ID: <87woqc2r5x.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Zefram <zefram@HIDDEN> writes:

> Guile ought to be aware of how far its leap table extends, and signal
> an error when asked to perform a TAI<->UTC conversion that falls outside
> its scope.

I sympathize with your preference to raise an error rather than return
invalid results, but unfortunately I don't think this proposal is really
practical, given the SRFI-19 API.  The main problem is that, although
it's not specified in the document, the SRFI-19 reference implementation
uses UTC for all julian days, modified julian days, and dates.  For
example, 'time-tai->date' and 'time-tai->julian-day' include an implicit
conversion to UTC.

As a result, if we were to adopt your proposal, it would never be
possible to print a date more than 6 months in the future, and for users
of stable distributions such as Debian, it is not be possible to print
the current date.

We need a way to print future dates.  In theory, we could print future
dates in TAI without the leap second table, using the convention of
printing TAI dates as in <https://cr.yp.to/proto/utctai.html>, but
that's not what SRFI-19 does, and it has no API to support that way of
printing TAI dates.

Also, it's debatable whether it's desirable to print future dates in TAI
this way, since in the far future the times will drift far away from
mean solar time, and the calendar will eventually drift from the usual
alignment of the solar year to the months on the calendar.

So, I think this is a valid issue, but I don't see how it can be
addressed within SRFI-19.  I would need to be addressed in a new SRFI,
and even then it's not clear to me what's the right way forward.

What do you think?

    Regards,
      Mark




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21912: TAI<->UTC conversion botches the unknown
Resent-From: John Cowan <cowan@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sun, 21 Oct 2018 12:51:01 +0000
Resent-Message-ID: <handler.21912.B21912.154012625912473 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21912
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Mark H Weaver <mhw@HIDDEN>
Cc: zefram@HIDDEN, 21912 <at> debbugs.gnu.org
Received: via spool by 21912-submit <at> debbugs.gnu.org id=B21912.154012625912473
          (code B ref 21912); Sun, 21 Oct 2018 12:51:01 +0000
Received: (at 21912) by debbugs.gnu.org; 21 Oct 2018 12:50:59 +0000
Received: from localhost ([127.0.0.1]:33820 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gEDC6-0003F7-Jn
	for submit <at> debbugs.gnu.org; Sun, 21 Oct 2018 08:50:58 -0400
Received: from mail-wm1-f53.google.com ([209.85.128.53]:34943)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cowan@HIDDEN>) id 1gEDC3-0003Eq-QL
 for 21912 <at> debbugs.gnu.org; Sun, 21 Oct 2018 08:50:57 -0400
Received: by mail-wm1-f53.google.com with SMTP id o17-v6so6916935wmh.0
 for <21912 <at> debbugs.gnu.org>; Sun, 21 Oct 2018 05:50:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=ccil-org.20150623.gappssmtp.com; s=20150623;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=ZeIg4w3JRO6kci0bYFxGf6PUJUpnD90WmPJlLndpQdg=;
 b=pPPfQyJyx0DwF7iZRutkGY2/UWaC+k0rlJW4atB9kMBJxPf2RDZIhXeBnRrPVusVuc
 db8iPsN/i07/hCfRn6kXeXi3OrmX2jtycIf54hoJC7GNJxXqrhuApI7yfRZIW6vQcOHw
 L56sVYQbhllEEP5a81GpaltFqD0oeH+bj54Kx7RQtL8HyGqLPoXYhY30SuNB9ctx47XJ
 2V13c6VG3visA9QB0LAkV5vbMbluDu2CN6Fcj1HDE/hUO6qm0p+l4YZs69XcQ67F7X4C
 /k/K04Yq4R9NHwLSSZ96sjhQkPyUxZlmqep2VQ9AqgC1Ej7pMaSXhid+gior3QENHsxX
 41aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=ZeIg4w3JRO6kci0bYFxGf6PUJUpnD90WmPJlLndpQdg=;
 b=W1b1ybZ+7Fld7/P9+zZcYcHpJV5t46fhaRNzNamjYtenaQpnPlYUxEr+0yai6/clRk
 UhrcDIa3A6hz37PDeT3UrSgJ8ONUPF5pGXCCZ6UXbEUYGmxdHu8ykXg0crf4hUdGLkZE
 rQ9jBS5rjQXaVk0BQa6PD9xCX5EhCePwnuwocX6JaPAAWlpYGmfGrT7HseRO2xXfhpym
 nMtYKlAqejVjblNvVal5j0kIidf24rHvo51MVFVsyG0+sUfXYIGjePg6GZ7+Dx3k8XQX
 FixNCoSvYaotL5dsvW1Trlmzb0BqUCq6r5RWKjGP4ILb/Upt0lOjF0QHCNzaLxsgF4ja
 czrw==
X-Gm-Message-State: ABuFfojoQCg1N8eCQlOrBowN8w+CFB+gBsi4+iJ2yMTDBdtGmlvg4rwU
 4sAm2I+y1Irv6OiKG2qr/DJoF38DpZjuCuTyi1CBKw==
X-Google-Smtp-Source: ACcGV63GesCa9adaqzUUjq9J/Ka+NK0Q3SGmFUgaikP64cS1Bh/gpyaXVmE9WxoAPb0mxlHthweR3NLP9yRNhcbxY2Q=
X-Received: by 2002:a1c:3702:: with SMTP id
 e2-v6mr11206051wma.89.1540126249956; 
 Sun, 21 Oct 2018 05:50:49 -0700 (PDT)
MIME-Version: 1.0
References: <20151113164427.GS13455@HIDDEN> <87woqc2r5x.fsf@HIDDEN>
In-Reply-To: <87woqc2r5x.fsf@HIDDEN>
From: John Cowan <cowan@HIDDEN>
Date: Sun, 21 Oct 2018 08:50:38 -0400
Message-ID: <CAD2gp_Ru5sOoxPN5un7=OFCJd-B8OiZyNrkqs5-nBxO+=_JoRQ@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000009cd260578bc967b"
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000009cd260578bc967b
Content-Type: text/plain; charset="UTF-8"

What is more, there are no TAI<->UTC conversion tables from before 1961
(when UTC began) and probably never will be.  There was heated debate in
the R7RS-small working group, and we finally settled on a compromise:

(current-second) [r]eturns an inexact number representing the current time
on the International Atomic Time (TAI) scale. The value 0.0 represents
midnight on January 1, 1970 TAI (equivalent to ten seconds before midnight
Universal Time) and the value 1.0 represents one TAI second later. Neither
high accuracy nor high precision are required; in particular, returning
Coordinated Universal Time plus a suitable constant might be the best an
implementation can do.

I now see that the "ten seconds" is incorrect, and I am filing an erratum:
the correct figure is 4.2131700 seconds per <
http://maia.usno.navy.mil/ser7/tai-utc.dat>.

On Sat, Oct 20, 2018 at 6:25 PM Mark H Weaver <mhw@HIDDEN> wrote:

> Zefram <zefram@HIDDEN> writes:
>
> > Guile ought to be aware of how far its leap table extends, and signal
> > an error when asked to perform a TAI<->UTC conversion that falls outside
> > its scope.
>
> I sympathize with your preference to raise an error rather than return
> invalid results, but unfortunately I don't think this proposal is really
> practical, given the SRFI-19 API.  The main problem is that, although
> it's not specified in the document, the SRFI-19 reference implementation
> uses UTC for all julian days, modified julian days, and dates.  For
> example, 'time-tai->date' and 'time-tai->julian-day' include an implicit
> conversion to UTC.
>
> As a result, if we were to adopt your proposal, it would never be
> possible to print a date more than 6 months in the future, and for users
> of stable distributions such as Debian, it is not be possible to print
> the current date.
>
> We need a way to print future dates.  In theory, we could print future
> dates in TAI without the leap second table, using the convention of
> printing TAI dates as in <https://cr.yp.to/proto/utctai.html>, but
> that's not what SRFI-19 does, and it has no API to support that way of
> printing TAI dates.
>
> Also, it's debatable whether it's desirable to print future dates in TAI
> this way, since in the far future the times will drift far away from
> mean solar time, and the calendar will eventually drift from the usual
> alignment of the solar year to the months on the calendar.
>
> So, I think this is a valid issue, but I don't see how it can be
> addressed within SRFI-19.  I would need to be addressed in a new SRFI,
> and even then it's not clear to me what's the right way forward.
>
> What do you think?
>
>     Regards,
>       Mark
>
>
>
>

--00000000000009cd260578bc967b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">What is more, there are no TAI&lt;-&gt;UT=
C conversion tables from before 1961 (when UTC began) and probably never wi=
ll be.=C2=A0 There was heated debate in the R7RS-small working group, and w=
e finally settled on a compromise:<div><br></div><div>(current-second) [r]e=
turns an inexact number representing the current time
on the International Atomic Time (TAI) scale. The value
0.0 represents midnight on January 1, 1970 TAI (equivalent
to ten seconds before midnight Universal Time) and
the value 1.0 represents one TAI second later. Neither
high accuracy nor high precision are required; in particular,
returning Coordinated Universal Time plus a suitable
constant might be the best an implementation can do.<br></div><div><br></di=
v><div>I now see that the &quot;ten seconds&quot; is incorrect, and I am fi=
ling an erratum: the correct figure is=C2=A0<span style=3D"color:rgb(0,0,0)=
;white-space:pre-wrap">4.2131700 seconds per &lt;</span><font color=3D"#000=
000"><span style=3D"white-space:pre-wrap"><a href=3D"http://maia.usno.navy.=
mil/ser7/tai-utc.dat">http://maia.usno.navy.mil/ser7/tai-utc.dat</a>&gt;.</=
span></font></div></div></div><br><div class=3D"gmail_quote"><div dir=3D"lt=
r">On Sat, Oct 20, 2018 at 6:25 PM Mark H Weaver &lt;<a href=3D"mailto:mhw@=
netris.org">mhw@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex">Zefram &lt;<a href=3D"mailto:zefram@HIDDEN" target=3D"_blank">zefr=
am@HIDDEN</a>&gt; writes:<br>
<br>
&gt; Guile ought to be aware of how far its leap table extends, and signal<=
br>
&gt; an error when asked to perform a TAI&lt;-&gt;UTC conversion that falls=
 outside<br>
&gt; its scope.<br>
<br>
I sympathize with your preference to raise an error rather than return<br>
invalid results, but unfortunately I don&#39;t think this proposal is reall=
y<br>
practical, given the SRFI-19 API.=C2=A0 The main problem is that, although<=
br>
it&#39;s not specified in the document, the SRFI-19 reference implementatio=
n<br>
uses UTC for all julian days, modified julian days, and dates.=C2=A0 For<br=
>
example, &#39;time-tai-&gt;date&#39; and &#39;time-tai-&gt;julian-day&#39; =
include an implicit<br>
conversion to UTC.<br>
<br>
As a result, if we were to adopt your proposal, it would never be<br>
possible to print a date more than 6 months in the future, and for users<br=
>
of stable distributions such as Debian, it is not be possible to print<br>
the current date.<br>
<br>
We need a way to print future dates.=C2=A0 In theory, we could print future=
<br>
dates in TAI without the leap second table, using the convention of<br>
printing TAI dates as in &lt;<a href=3D"https://cr.yp.to/proto/utctai.html"=
 rel=3D"noreferrer" target=3D"_blank">https://cr.yp.to/proto/utctai.html</a=
>&gt;, but<br>
that&#39;s not what SRFI-19 does, and it has no API to support that way of<=
br>
printing TAI dates.<br>
<br>
Also, it&#39;s debatable whether it&#39;s desirable to print future dates i=
n TAI<br>
this way, since in the far future the times will drift far away from<br>
mean solar time, and the calendar will eventually drift from the usual<br>
alignment of the solar year to the months on the calendar.<br>
<br>
So, I think this is a valid issue, but I don&#39;t see how it can be<br>
addressed within SRFI-19.=C2=A0 I would need to be addressed in a new SRFI,=
<br>
and even then it&#39;s not clear to me what&#39;s the right way forward.<br=
>
<br>
What do you think?<br>
<br>
=C2=A0 =C2=A0 Regards,<br>
=C2=A0 =C2=A0 =C2=A0 Mark<br>
<br>
<br>
<br>
</blockquote></div>

--00000000000009cd260578bc967b--




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21912: TAI<->UTC conversion botches the unknown
Resent-From: Mark H Weaver <mhw@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Mon, 22 Oct 2018 05:55:01 +0000
Resent-Message-ID: <handler.21912.B21912.15401876749011 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21912
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: John Cowan <cowan@HIDDEN>
Cc: zefram@HIDDEN, 21912 <at> debbugs.gnu.org
Received: via spool by 21912-submit <at> debbugs.gnu.org id=B21912.15401876749011
          (code B ref 21912); Mon, 22 Oct 2018 05:55:01 +0000
Received: (at 21912) by debbugs.gnu.org; 22 Oct 2018 05:54:34 +0000
Received: from localhost ([127.0.0.1]:35023 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gETAf-0002LG-Rz
	for submit <at> debbugs.gnu.org; Mon, 22 Oct 2018 01:54:34 -0400
Received: from world.peace.net ([64.112.178.59]:52910)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1gETAd-0002Kz-0Z
 for 21912 <at> debbugs.gnu.org; Mon, 22 Oct 2018 01:54:32 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1gETAW-0007oe-Aj; Mon, 22 Oct 2018 01:54:24 -0400
From: Mark H Weaver <mhw@HIDDEN>
References: <20151113164427.GS13455@HIDDEN> <87woqc2r5x.fsf@HIDDEN>
 <CAD2gp_Ru5sOoxPN5un7=OFCJd-B8OiZyNrkqs5-nBxO+=_JoRQ@HIDDEN>
Date: Mon, 22 Oct 2018 01:54:11 -0400
In-Reply-To: <CAD2gp_Ru5sOoxPN5un7=OFCJd-B8OiZyNrkqs5-nBxO+=_JoRQ@HIDDEN>
 (John Cowan's message of "Sun, 21 Oct 2018 08:50:38 -0400")
Message-ID: <871s8ia5mk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi John,

John Cowan <cowan@HIDDEN> writes:

> What is more, there are no TAI<->UTC conversion tables from before
> 1961 (when UTC began) and probably never will be.  There was heated
> debate in the R7RS-small working group, and we finally settled on a
> compromise:
>
> (current-second) [r]eturns an inexact number representing the current
> time on the International Atomic Time (TAI) scale. The value 0.0
> represents midnight on January 1, 1970 TAI (equivalent to ten seconds
> before midnight Universal Time) and the value 1.0 represents one TAI
> second later. Neither high accuracy nor high precision are required;
> in particular, returning Coordinated Universal Time plus a suitable
> constant might be the best an implementation can do.
>
> I now see that the "ten seconds" is incorrect, and I am filing an
> erratum: the correct figure is 4.2131700 seconds per
> <http://maia.usno.navy.mil/ser7/tai-utc.dat>.

Actually, the correct TAI-UTC delta on January 1, 1970 TAI is
approximately 8 seconds.  You are misinterpreting the relevant line from
that file:

 1968 FEB  1 =JD 2439887.5  TAI-UTC=   4.2131700 S + (MJD - 39126.) X 0.002592 S

This means that TAI-UTC = 4.2131700 + (MJD - 39126) * 0.002592, where
MJD is the modified julian day of the desired TAI-UTC delta.  In this
case, the MJD (modified julian day) of midnight UTC January 1, 1970 is
40587, and plugging that into the equation above yields TAI-UTC =
8.000082 seconds.

If you are doubtful, see the "Atomic Time and Leap Seconds" graph, which
shows a graph of TAI-UTC over the years 1958 to 2017, on the following page:

  http://jjy.nict.go.jp/mission/page1-e.html

Note that between January 1961 and January 1972, the TAI-UTC delta was
not an integer, and instead of the discontinuous leap second jumps that
we've had since 1972, the two clocks ran at different rates in those
years.

       Mark




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#21912: TAI<->UTC conversion botches the unknown
Resent-From: John Cowan <cowan@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Mon, 22 Oct 2018 14:51:01 +0000
Resent-Message-ID: <handler.21912.B21912.15402198563496 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 21912
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Mark H Weaver <mhw@HIDDEN>
Cc: zefram@HIDDEN, 21912 <at> debbugs.gnu.org
Received: via spool by 21912-submit <at> debbugs.gnu.org id=B21912.15402198563496
          (code B ref 21912); Mon, 22 Oct 2018 14:51:01 +0000
Received: (at 21912) by debbugs.gnu.org; 22 Oct 2018 14:50:56 +0000
Received: from localhost ([127.0.0.1]:36345 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1gEbXk-0000uK-46
	for submit <at> debbugs.gnu.org; Mon, 22 Oct 2018 10:50:56 -0400
Received: from mail-wr1-f52.google.com ([209.85.221.52]:35778)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cowan@HIDDEN>) id 1gEbXi-0000u1-7y
 for 21912 <at> debbugs.gnu.org; Mon, 22 Oct 2018 10:50:54 -0400
Received: by mail-wr1-f52.google.com with SMTP id w5-v6so45276066wrt.2
 for <21912 <at> debbugs.gnu.org>; Mon, 22 Oct 2018 07:50:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=ccil-org.20150623.gappssmtp.com; s=20150623;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=Ape9DpTAIJSNxDXvu4Yk2ffgH69oPQdP2gaz6paDkSA=;
 b=cjrst7WQQRUkoCM1HIEtw6F8A3dJe/HoUd9j2bACSI1EEpvKDSKOJ57sep0A/3/up/
 dF4EFYr/GpmSN/IBwFb/lJJTCKF/a3It0zwrVBOH64ziH0xBSG/axIfCOkMAXGRqll6R
 syW9OGmMUUn6EHKO5nkTdi06xPGyXgcQ0+xrSqCkaE4mlOjLrIGqqNuVGsULZVEMcd+G
 +fEbtBRhUljx7m/d2nla/thWMTAx0T65N1mE9d8vVDABvUGI8fEfCyL1NubM1gJZo6S0
 OuQuvA/87IXSpp6rQQMrTNuJk8eplpr8FKABNHEp/cJYKaXWnOVG/umartIHTQAmKq4x
 3jDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=Ape9DpTAIJSNxDXvu4Yk2ffgH69oPQdP2gaz6paDkSA=;
 b=qVOZTpdTM532Qmpzko8px/KpuFmJaOZld1DxxAtqktQ8uJfW4g5aVanUfC0RaN1tGe
 1INarL6NMb7OZge6KCRaMqecHEpU80pXSNpLZLB4HtOd7IrCvPNmZLHIr/NM0oQX3b2I
 QhcBiyIR5W8ZE+RPKew18g3SWIwVNdkEBkBNlNHa0E1dVQ5z2HICMc7mkuiYNtnpdMNf
 bxOmADu57B36gR5/D/o1xMGzOqo2VsUR0l6SvkhfQSDEEJYeS+gZmdWDLZw85LNkzz+t
 uJbO6LLYKeBswfwIabL4k8hu/tYiPM4b6sizXbMZw8I4W56GKsTKDk+ENSfUE6Mcu0Vq
 +x7w==
X-Gm-Message-State: ABuFfojVvKOlX9VyfCgjum9uegiRPGFvm9FJtJy744QXLQAl5mOPcSve
 xA0APm85wHABhNqvVa63rVs0v9O2tUcvtKE15ginNQ==
X-Google-Smtp-Source: ACcGV604tJm7/ucs0w+HUsQlCjvVvEl9IQLflMbRW4lt7IahALW3CYZ/tXiTvb9MkA9DXPD4c3gOAwy+C/+X1vmKgCk=
X-Received: by 2002:adf:a447:: with SMTP id
 e7-v6mr45925619wra.190.1540219848215; 
 Mon, 22 Oct 2018 07:50:48 -0700 (PDT)
MIME-Version: 1.0
References: <20151113164427.GS13455@HIDDEN> <87woqc2r5x.fsf@HIDDEN>
 <CAD2gp_Ru5sOoxPN5un7=OFCJd-B8OiZyNrkqs5-nBxO+=_JoRQ@HIDDEN>
 <871s8ia5mk.fsf@HIDDEN>
In-Reply-To: <871s8ia5mk.fsf@HIDDEN>
From: John Cowan <cowan@HIDDEN>
Date: Mon, 22 Oct 2018 10:50:37 -0400
Message-ID: <CAD2gp_QxJ=jwecOrt+=RzKHrjCjqWT0MrfHUG7wb7ekyahPovQ@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000ede7100578d26051"
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000ede7100578d26051
Content-Type: text/plain; charset="UTF-8"

On Mon, Oct 22, 2018 at 1:54 AM Mark H Weaver <mhw@HIDDEN> wrote:


> This means that TAI-UTC = 4.2131700 + (MJD - 39126) * 0.002592, where
> MJD is the modified julian day of the desired TAI-UTC delta.  In this
> case, the MJD (modified julian day) of midnight UTC January 1, 1970 is
> 40587, and plugging that into the equation above yields TAI-UTC =
> 8.000082 seconds.
>

Thanks.  I have changed the errata list, the R7RS source (in the "errata"
branch), and the cached copy of r7rs.pdf.

--000000000000ede7100578d26051
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Mon=
, Oct 22, 2018 at 1:54 AM Mark H Weaver &lt;<a href=3D"mailto:mhw@HIDDEN=
g">mhw@HIDDEN</a>&gt; wrote:<br></div><div>=C2=A0</div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">
This means that TAI-UTC =3D 4.2131700 + (MJD - 39126) * 0.002592, where<br>
MJD is the modified julian day of the desired TAI-UTC delta.=C2=A0 In this<=
br>
case, the MJD (modified julian day) of midnight UTC January 1, 1970 is<br>
40587, and plugging that into the equation above yields TAI-UTC =3D<br>
8.000082 seconds.<br></blockquote><div><br></div><div>Thanks.=C2=A0 I have =
changed the errata list, the R7RS source (in the &quot;errata&quot; branch)=
, and the cached copy of r7rs.pdf.=C2=A0</div></div></div>

--000000000000ede7100578d26051--





Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.