From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Zefram Newsgroups: gmane.lisp.guile.bugs Subject: bug#21915: write inconsistent about #nil Date: Sat, 14 Nov 2015 01:46:56 +0000 Message-ID: <20151114014656.GT13455@fysh.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1447465698 18568 80.91.229.3 (14 Nov 2015 01:48:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Nov 2015 01:48:18 +0000 (UTC) To: 21915@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sat Nov 14 02:48:09 2015 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZxPwl-00041B-Iq for guile-bugs@m.gmane.org; Sat, 14 Nov 2015 02:48:07 +0100 Original-Received: from localhost ([::1]:56877 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPwk-0006sa-Vi for guile-bugs@m.gmane.org; Fri, 13 Nov 2015 20:48:06 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36814) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPwh-0006sF-7T for bug-guile@gnu.org; Fri, 13 Nov 2015 20:48:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZxPwg-0007kw-4r for bug-guile@gnu.org; Fri, 13 Nov 2015 20:48:03 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47884) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPwg-0007ks-1Z for bug-guile@gnu.org; Fri, 13 Nov 2015 20:48:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZxPwf-00057o-Pg for bug-guile@gnu.org; Fri, 13 Nov 2015 20:48:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Zefram Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sat, 14 Nov 2015 01:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21915 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.144746562619636 (code B ref -1); Sat, 14 Nov 2015 01:48:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Nov 2015 01:47:06 +0000 Original-Received: from localhost ([127.0.0.1]:37592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZxPvl-00056e-RR for submit@debbugs.gnu.org; Fri, 13 Nov 2015 20:47:06 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:54876) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZxPvj-00056T-9y for submit@debbugs.gnu.org; Fri, 13 Nov 2015 20:47:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZxPvi-0007fc-57 for submit@debbugs.gnu.org; Fri, 13 Nov 2015 20:47:03 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:43204) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPvi-0007fY-2E for submit@debbugs.gnu.org; Fri, 13 Nov 2015 20:47:02 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36643) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPvh-0006Db-6r for bug-guile@gnu.org; Fri, 13 Nov 2015 20:47:02 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZxPvg-0007fH-9I for bug-guile@gnu.org; Fri, 13 Nov 2015 20:47:01 -0500 Original-Received: from river6.fysh.org ([2001:41d0:d:20da::2]:49365 helo=river.fysh.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZxPvg-0007f6-3j for bug-guile@gnu.org; Fri, 13 Nov 2015 20:47:00 -0500 Original-Received: from zefram by river.fysh.org with local (Exim 4.80 #2 (Debian)) id 1ZxPvc-0006kW-B0; Sat, 14 Nov 2015 01:46:56 +0000 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x 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-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7904 Archived-At: The write function is inconsistent about whether it distinguishes between #nil and (): scheme@(guile-user)> '(#nil . a) $1 = (#nil . a) scheme@(guile-user)> '(a . #nil) $2 = (a) Thee latter behaviour, emitting #nil as if it were (), breaks the usual write/read round-tripping, and the traditional correspondence between equal? and matching of written representation. Admittedly those standards are not absolute, nor is the extent to which they're expected to hold documented, but #nil is clearly sufficiently atomic to be the kind of value to which one would expect them to apply. For these reasons, if a consistent behaviour is to be chosen, I think it should be to consistently distinguish the values. I think the behaviour should be consistent. The values should be distinguished or not without regard to the context in which they arise within an s-expression. Whatever is done, even if it's to endorse the inconsistency, the behaviour should be documented, with rationale. -zefram