From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Maxime Devos Newsgroups: gmane.lisp.guile.devel Subject: Re: Fwd: [Patch] definitions in when, unless, do as well as in cond- and case-clauses Date: Sun, 06 Feb 2022 22:26:53 +0100 Message-ID: <156b5e4845eb20f0bfc1e69573d8577908d82d62.camel@telenet.be> References: <38a7683ab39f412cd6f5b137d2f6ebd6f5410c5e.camel@telenet.be> <8db379b94c9d724c833478db7e6e8a6a4f379f69.camel@telenet.be> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-tRUrIMxx1oTzOn2DE5+z" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21323"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.38.3-1 Cc: guile-devel@gnu.org To: Stefan Israelsson Tampe Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Sun Feb 06 22:27:22 2022 Return-path: Envelope-to: guile-devel@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 1nGp46-0005OV-OW for guile-devel@m.gmane-mx.org; Sun, 06 Feb 2022 22:27:22 +0100 Original-Received: from localhost ([::1]:57588 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nGp45-0003Ie-M6 for guile-devel@m.gmane-mx.org; Sun, 06 Feb 2022 16:27:21 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:52200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nGp3r-0003IM-MQ for guile-devel@gnu.org; Sun, 06 Feb 2022 16:27:08 -0500 Original-Received: from [2a02:1800:110:4::f00:18] (port=60796 helo=michel.telenet-ops.be) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nGp3m-0004B7-Qn for guile-devel@gnu.org; Sun, 06 Feb 2022 16:27:07 -0500 Original-Received: from [172.20.10.5] ([188.188.37.53]) by michel.telenet-ops.be with bizsmtp id rxSy2600l18o4tG06xSzLT; Sun, 06 Feb 2022 22:26:59 +0100 In-Reply-To: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1644182819; bh=8kMt1a9dwpuOxX0+DBdMTG38abK8BTtgjISl4DR0ZXw=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=n3DouQ8NGN+lIjbydiy7Ew/DsgVkW0FxdXKoGiRgl/qHtQ2CAk++LuZlaIO9l1qdy 6438rMaS4IZJV575titHEzDxLjmYGKqDXM0g2ZmRDVf+BYKp24rmW+qW/m4WqDuDlq 4I9nDf+sVqzY0PjLHTmnJXYQp/4B2YiFnvIprh/rAdGzwtH6lmx8xu0zkVoM4M0J8v ChyMAoslCzLZ7NTpVdkeNYJoL03JBrGGQ2KpRL6yY61NlFNc1UaYeevCLdFnC3yALn Hf3dCePzKaIgIvv9GdKtZEJ6YeYOtfmLNP8l4Qg5HohwRNJMkpmuG2JPMfPU1iom1r Ha2Azz3QHtuQQ== X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a02:1800:110:4::f00:18 (failed) Received-SPF: pass client-ip=2a02:1800:110:4::f00:18; envelope-from=maximedevos@telenet.be; helo=michel.telenet-ops.be X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RDNS_NONE=0.793, 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: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:21084 Archived-At: --=-tRUrIMxx1oTzOn2DE5+z Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Stefan Israelsson Tampe schreef op zo 06-02-2022 om 22:10 [+0100]: > I think you are right on this, I looked at the scheme spec and I find > no trace for using a let or not or not in the spec. > So it is an implementation detail. Now, this is important, if I want > to write portable=C2=A0code if cond case allows definitions > without an explicit let, it is not portable anymore!! So this is the > only cost I see with your idea. This issue can probably=C2=A0 > be mitigated but it means that we must maintain two versions of the > conditional=C2=A0constructs. Any old portable code (in particular, not assuming the proposed Guile behaviour) still has the same semantics; old portable code remains portable code. As such, we don't have to have two versions of the conditional constructs in Guile, there is no backwards incompatibility. However, there would admittedly be a slightly higher risk of writing unportable code _by accident_. FWIW, Guile already exports unportable syntax in (rnrs base): R6RS doesn't mention named let anywhere, yet Guile exports it as 'let' in (rnrs base) anyway. Greetings, Maxime. --=-tRUrIMxx1oTzOn2DE5+z Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYgA9HRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7pVtAPsFczNfQYfwchYpYoyDFfvn4EWB L7OE8jLEaAoODEjSpwEA6HJySBqT3RlOBsrYn5zcqAzo7L+SbqvtPcR3bb62awY= =30TX -----END PGP SIGNATURE----- --=-tRUrIMxx1oTzOn2DE5+z--