From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: bug#26151: date-year-day screws up leap days prior to AD 1 Date: Tue, 25 Apr 2017 09:57:41 +0200 Message-ID: <87mvb4udfu.fsf@pobox.com> References: <20170318011058.GG6518@fysh.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1493107728 5630 195.159.176.226 (25 Apr 2017 08:08:48 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 25 Apr 2017 08:08:48 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) Cc: 26151@debbugs.gnu.org To: Zefram Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Apr 25 10:08:44 2017 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d2vWd-0001N1-QL for guile-bugs@m.gmane.org; Tue, 25 Apr 2017 10:08:44 +0200 Original-Received: from localhost ([::1]:47644 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2vWj-00037D-Ix for guile-bugs@m.gmane.org; Tue, 25 Apr 2017 04:08:49 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2vMM-0003Bi-7o for bug-guile@gnu.org; Tue, 25 Apr 2017 03:58:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d2vMI-00021n-Ct for bug-guile@gnu.org; Tue, 25 Apr 2017 03:58:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:40588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d2vMI-00021a-20 for bug-guile@gnu.org; Tue, 25 Apr 2017 03:58:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d2vMH-0002wq-Rg for bug-guile@gnu.org; Tue, 25 Apr 2017 03:58:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Andy Wingo Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 25 Apr 2017 07:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26151 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 26151-submit@debbugs.gnu.org id=B26151.149310707511317 (code B ref 26151); Tue, 25 Apr 2017 07:58:01 +0000 Original-Received: (at 26151) by debbugs.gnu.org; 25 Apr 2017 07:57:55 +0000 Original-Received: from localhost ([127.0.0.1]:38787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d2vMA-0002wT-W4 for submit@debbugs.gnu.org; Tue, 25 Apr 2017 03:57:55 -0400 Original-Received: from pb-sasl1.pobox.com ([64.147.108.66]:64950 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d2vM9-0002wL-9x for 26151@debbugs.gnu.org; Tue, 25 Apr 2017 03:57:53 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id DC11D73C12; Tue, 25 Apr 2017 03:57:49 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=ppEjeeBDbZA0EPHUBOSa2r6GB7E=; b=vXtZ2u rFKcZm9c3JkeTjbRxIJCllYAZ0i+vBYizquEhSIKlSc5zpBeUDa/Ty9Sn6Dc1I+0 rwHrTO1CRaP/N2yVnMwA1M6faUZ2AapfZWV44DvPICYV2afBajzJa4hoZM/hrXgL pUtHqmMzPbalJjManFs32Ov36wZDeW9vPWbWc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=ar4TCK4RvjqauPJLTqUYJHn5PvJuVncy 4xF2SHFNAUlp8bNKUeeaHOjSQ6TtPW5FV+jWvO5O7wwlhvPiRRsYU3QKeEl7EXt5 KcWsCLU6tVVKXENSAC1hcqOJyEtZNvGrP+OuHHA9E+omuuWxMGWFeC9R7H3uSzjb Jvyh+IdfaQs= Original-Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-sasl1.pobox.com (Postfix) with ESMTP id D3ADB73C11; Tue, 25 Apr 2017 03:57:49 -0400 (EDT) Original-Received: from clucks (unknown [151.127.12.20]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by pb-sasl1.pobox.com (Postfix) with ESMTPSA id C15FC73C10; Tue, 25 Apr 2017 03:57:48 -0400 (EDT) In-Reply-To: <20170318011058.GG6518@fysh.org> (zefram@fysh.org's message of "Sat, 18 Mar 2017 01:10:58 +0000") X-Pobox-Relay-ID: E01D83EE-298C-11E7-98E8-07D2064AB293-02397024!pb-sasl1.pobox.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8787 Archived-At: On Sat 18 Mar 2017 02:10, Zefram writes: > If I had implemented SRFI-19 myself, without reference to existing > implementations, I would have implemented astronomical year numbering > (consistent AD year numbering, extending linearly in both directions), > as used in ISO 8601. This is the most conventional year numbering, > and at a stretch one could read SRFI-19 as implying it, by using some AD > year numbering and not saying to deviate from that scheme. But really the > standard is silent on the issue. Since the signification of date-year is > an interoperability issue, this silence is a problem, and it is troubling > that you and I have reached different interpretations of the standard > on this point. > > Where did you get the idea to use a non-linear year numbering? What's > your opinion of SRFI-19's (lack of) text on this matter? You should > consider the possibility of changing your implementation to use the > conventional astronomical year numbering in this slot. For what it's worth the "you" in your message refers to "hackers of yore" ;-) I mean, this code's core was last changed in 2001 by a Guile maintainer a few generations back. The fact that it's lasted this long does indicates that it's generally acceptable, but the fact that you have found so many bugs indicates that there are parts of it that aren't so good. And it's old old code that needs modernizing (proper data structures, pattern matching, and so on). What I mean to say is that if there's a more sensible thing to do, we can do it. To answer your specific question: would this be an ABI change in some way, or can we make this change in 2.2? Andy