From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.user Subject: Re: A value for "nothing" Date: Mon, 27 Aug 2018 16:46:05 -0400 Message-ID: <87sh2zsfle.fsf@netris.org> References: <21036238.c6yQEfjfIL@aleksandar-ixtreme-m5740> <87sh30vqmm.fsf@netris.org> <20180827080415.GB10407@tuxteam.de> <87wosbsh5m.fsf@netris.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1535403763 20006 195.159.176.226 (27 Aug 2018 21:02:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 27 Aug 2018 21:02:43 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: guile-user@gnu.org To: Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Aug 27 23:02:39 2018 Return-path: Envelope-to: guile-user@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 1fuOek-00054d-5h for guile-user@m.gmane.org; Mon, 27 Aug 2018 23:02:38 +0200 Original-Received: from localhost ([::1]:35123 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fuOgq-000086-K6 for guile-user@m.gmane.org; Mon, 27 Aug 2018 17:04:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fuOfN-0007bV-4J for guile-user@gnu.org; Mon, 27 Aug 2018 17:03:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fuOQG-000353-8L for guile-user@gnu.org; Mon, 27 Aug 2018 16:47:43 -0400 Original-Received: from world.peace.net ([64.112.178.59]:47908) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fuOQG-00033K-2Y for guile-user@gnu.org; Mon, 27 Aug 2018 16:47:40 -0400 Original-Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fuOQE-0006BN-V0; Mon, 27 Aug 2018 16:47:39 -0400 In-Reply-To: <87wosbsh5m.fsf@netris.org> (Mark H. Weaver's message of "Mon, 27 Aug 2018 16:12:21 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.112.178.59 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14794 Archived-At: I wrote: > If he would like people to be able to write code that uses his library > and works on multiple Scheme implementations, then it will certainly be > an impediment to use a Racket-specific value for Nil on Racket, and a > Guile-specific value for Nil on Guile. It would be much better to use a > portable Scheme data structure uniformly. One might object, and point out that since the library will presumably include procedures to construct and test for nil, it shouldn't matter if they are represented by different objects under the hood. The problem is, if #nil is used, it's quite likely that some code built on top of this library and developed using Guile will end up relying on the fact that #nil is considered false, and that (null? #nil) returns true. That would lead to possibly subtle breakage when the same code is then used on another implementation. Mark