From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Sent Newsgroups: gmane.lisp.guile.bugs Subject: bug#69919: Inaccurate api-procedures manual sentence on lambda formal arguments Date: Wed, 20 Mar 2024 13:40:58 -0400 Message-ID: <87h6h0dcnp.fsf@freakingpenguin.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34898"; mail-complaints-to="usenet@ciao.gmane.io" To: 69919@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Wed Mar 20 19:10:08 2024 Return-path: Envelope-to: guile-bugs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rn0O7-0008r7-7z for guile-bugs@m.gmane-mx.org; Wed, 20 Mar 2024 19:10:07 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rn0NS-0004Il-0m; Wed, 20 Mar 2024 14:09:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rn0NP-0004Hy-TZ for bug-guile@gnu.org; Wed, 20 Mar 2024 14:09:23 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rn0NP-0008UW-LP for bug-guile@gnu.org; Wed, 20 Mar 2024 14:09:23 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rn0O3-0005qu-1Z for bug-guile@gnu.org; Wed, 20 Mar 2024 14:10:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 20 Mar 2024 18:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 69919 X-GNU-PR-Package: guile X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171095814722319 (code B ref -1); Wed, 20 Mar 2024 18:10:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Mar 2024 18:09:07 +0000 Original-Received: from localhost ([127.0.0.1]:54050 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rn0N8-0005nn-MH for submit@debbugs.gnu.org; Wed, 20 Mar 2024 14:09:07 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:38998) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rn0N0-0005lE-0O for submit@debbugs.gnu.org; Wed, 20 Mar 2024 14:08:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rn01R-0007Jo-JS for bug-guile@gnu.org; Wed, 20 Mar 2024 13:46:42 -0400 Original-Received: from mail-108-mta8.mxroute.com ([136.175.108.8]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rn01N-0004Pw-Fg for bug-guile@gnu.org; Wed, 20 Mar 2024 13:46:41 -0400 Original-Received: from filter006.mxroute.com ([136.175.111.2] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta8.mxroute.com (ZoneMTA) with ESMTPSA id 18e5cf409000003bea.001 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 20 Mar 2024 17:41:20 +0000 X-Zone-Loop: 121a0dab73e1d95d33b2c9b564e96770f2d53da0adfc X-Originating-IP: [136.175.111.2] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Date:Subject:To:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=nusVs32Lg7dPjUjHefAOtE4jgy4p8g6Litqrf/Ic/mI=; b=GFzRc7Av0qqvljQ6tu6rLjNJVr ztmQT8I5ROXTqNlDhNSLAVr0vbxhEf4FBDHoRKADrgU+W6Grz+XOADN5raHKI3N524nsZ067sgeoO rnw429akKB1JS8Lpy9PSA3okAoY2SBeaV6EUf1hP6TdSnCiIKsU/iwh5rKtjv59iYxLkKWR2sT/DB hZ5GZVdAOKUe6ShoJ3WItwUgJngLG7HrSAt0zUrSwq1EQvuDsArVBOgHLloFw2caE/IHM2ecByUVQ nn6koea4XS2HkrNV8cnuHaVrajG34MqXJpkvAxb4R30amAyQMJDPyhWOP2YLxz07tJzBZCT62WZMF RwZz5gvA==; X-Authenticated-Id: richard@freakingpenguin.com Received-SPF: pass client-ip=136.175.108.8; envelope-from=richard@freakingpenguin.com; helo=mail-108-mta8.mxroute.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.bugs:10794 Archived-At: Hi Guile, I noticed the following line in the manual on (lambda) in (info "(guile) Lambda"). Emphasis in **. > -- syntax: lambda formals body > ... > =E2=80=98(VARIABLE1 ... VARIABLEN . VARIABLEN+1)=E2=80=99 > If a space-delimited period precedes the last variable, then > the procedure takes N or more variables where N is the number > of formal arguments before the period. *There must be at > least one argument before the period.* That would mean a procedure like --8<---------------cut here---------------start------------->8--- ((lambda ( . args) args) 1) ;=3D>(1) runs fine in 3.0.9 --8<---------------cut here---------------end--------------->8--- is invalid because there isn't an argument before the period. I've encountered Guile code that relies on this behavior before, even in the Guile repo. For example, in guile/benchmark/measure.scm: --8<---------------cut here---------------start------------->8--- (define (measure . args) ...) ;; should be identical to (define measure (lambda ( . args) ...)) --8<---------------cut here---------------end--------------->8--- Ergo, I think the sentence > There must be at least one argument before the period should be removed. This line seems to be from the R5RS standard [1], but this sentence is in api-procedures.texi, not the R5RS manual, so I assume it should reflect Guile's implementation. [1] https://conservatory.scheme.org/schemers/Documents/Standards/R5RS/HTML/= r5rs-Z-H-2.html#%_toc_%_sec_4.1.4 --=20 Take it easy, Richard Sent Making my computer weirder one commit at a time.