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: Tue, 28 Aug 2018 15:07:08 -0400 Message-ID: <87h8jegvj7.fsf@netris.org> References: <21036238.c6yQEfjfIL@aleksandar-ixtreme-m5740> <87sh30vqmm.fsf@netris.org> <20180827080415.GB10407@tuxteam.de> <87wosbsh5m.fsf@netris.org> <87sh2zsfle.fsf@netris.org> <31c7a870-aaf2-3f0e-2ef4-be4dc783a842@gmail.com> <87va7vyo2q.fsf@netris.org> <87h8jeijr2.fsf@netris.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1535484332 13998 195.159.176.226 (28 Aug 2018 19:25:32 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 28 Aug 2018 19:25:32 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: guile-user@gnu.org, Matt Wette To: John Cowan Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Aug 28 21:25:27 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 1fujcF-0003W5-97 for guile-user@m.gmane.org; Tue, 28 Aug 2018 21:25:27 +0200 Original-Received: from localhost ([::1]:39516 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fujeK-0004yH-W3 for guile-user@m.gmane.org; Tue, 28 Aug 2018 15:27:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33529) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fujXY-0006O1-Rn for guile-user@gnu.org; Tue, 28 Aug 2018 15:20:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fujMJ-0007U7-Is for guile-user@gnu.org; Tue, 28 Aug 2018 15:09:04 -0400 Original-Received: from world.peace.net ([64.112.178.59]:52700) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fujMF-0006uL-PD for guile-user@gnu.org; Tue, 28 Aug 2018 15:08:55 -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 1fujM2-0005Fe-S6; Tue, 28 Aug 2018 15:08:43 -0400 In-Reply-To: (John Cowan's message of "Tue, 28 Aug 2018 12:12:34 -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:14809 Archived-At: Hi John, John Cowan writes: > On Tue, Aug 28, 2018 at 11:40 AM Mark H Weaver wrote: >=20=20 > That's the phrase used in R7RS-small, which fails to define it, as you > noted, but that shortcoming is limited to R7RS. > > The relevant sentences in R5RS and R7RS are identical: " If > yields a false value and no is specified, then the result > of the expression is unspecified." Likewise, the paragraph from 1.3.2 > you quote below is identical in both standards. So either they both > define it or they both don't. Good point, you're absolutely right about that. I confess that I didn't bother to check R7RS carefully, because I simply assumed that you had good knowledge of it. I only looked carefully at R5RS and R6RS, but I guess we came to different conclusions from the same text. > In R6RS, section 11.4.3 (Conditionals) provides this example: > > Unlike Wil Clinger, and apparently you, I don't believe that examples > in specs are normative. But setting that aside for the moment: >=20=20 > I take the use of the singular form of "value" here to imply that it > returns only one value. > > In R6RS 11.13, vector-set! is said to return unspecified values (note > plural), but in the examples appears "=E2=87=92 unspecified", showing that > this notation can be used where multiple unspecified values (or zero > values) are allowed. This is also a good point. This looks like a mistake to me in R6RS. Someone should probably notify them. Anyway, these ambiguities in the informal descriptions underline the importance of formal semantics. Thankfully, the core constructs are unambiguously described by them in the standards, including 'if'. Thank you for your tireless efforts to promote Scheme standardization, and also for helping me break through stone walls that were placed in my way during the R7RS-small process. I'm grateful for your work. Mark