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,gmane.lisp.guile.user Subject: Re: expression and definition context in Scheme Date: Sat, 27 Aug 2022 19:00:13 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------WLR7LTi7v1HYaMYbEkEs7HKg" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18799"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 To: Damien Mattei , guile-user , guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Sat Aug 27 19:01:11 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 1oRzBH-0004jf-PU for guile-devel@m.gmane-mx.org; Sat, 27 Aug 2022 19:01:11 +0200 Original-Received: from localhost ([::1]:44512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oRzBG-0001D4-PU for guile-devel@m.gmane-mx.org; Sat, 27 Aug 2022 13:01:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oRzAU-0001Bz-0a for guile-devel@gnu.org; Sat, 27 Aug 2022 13:00:22 -0400 Original-Received: from andre.telenet-ops.be ([2a02:1800:120:4::f00:15]:33712) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oRzAO-0001ep-Om for guile-devel@gnu.org; Sat, 27 Aug 2022 13:00:20 -0400 Original-Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by andre.telenet-ops.be with bizsmtp id Ch0D2800K20ykKC01h0D32; Sat, 27 Aug 2022 19:00:13 +0200 Content-Language: en-US In-Reply-To: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1661619613; bh=k7VyoKc+oWDRfPGC2mWjBAoQ//p2JTnDUvCkxuuL0bs=; h=Date:Subject:To:References:From:In-Reply-To; b=g/lfYFZRIBSfcVN7fU3aPVbENzfKsOrpgVSBS9gksplkaUa7KHoUok+hpoNBSDaIM wacjtyPwnuUCR8ls7mTFfyt6GRbn5O6eqvd1JZiAbwRn+aGlmzEHeb0Q+Zmr9JJAD/ IrGVVs5pPZCk8/F7lJ7O88Q+WJ1xYqB+sWJfsOcITSfWpN8T+v7kw9VTLIH4HLopaW a+8+PBMuM61rrxmOgU607r+yUwNQ/B5Kcu5G/7ZftH10B+Ix8RikVJnmzTBcrgENc5 tvTyZ2PWIpjat66j1k+6qiY/obrQVvqlcVF9tD6HTgKRSuzCuaotjq5QqG1M6WCHVt SgqICGBEtamTw== Received-SPF: pass client-ip=2a02:1800:120:4::f00:15; envelope-from=maximedevos@telenet.be; helo=andre.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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:21332 gmane.lisp.guile.user:18543 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------WLR7LTi7v1HYaMYbEkEs7HKg Content-Type: multipart/mixed; boundary="------------MfReruXOmLSqemnkm7DOfeLP"; protected-headers="v1" From: Maxime Devos To: Damien Mattei , guile-user , guile-devel Message-ID: Subject: Re: expression and definition context in Scheme References: In-Reply-To: --------------MfReruXOmLSqemnkm7DOfeLP Content-Type: multipart/mixed; boundary="------------zBrpV8a6iA0uwEkQv2R7YxF7" --------------zBrpV8a6iA0uwEkQv2R7YxF7 Content-Type: multipart/alternative; boundary="------------dT3hw1Jd0W5fT5ZKpoG828zv" --------------dT3hw1Jd0W5fT5ZKpoG828zv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAyNy0wOC0yMDIyIDE4OjQ4LCBEYW1pZW4gTWF0dGVpIHdyb3RlOg0KPiBNeSBpZGVh cyBpcyBhcyBpdCBpcyBzbyBlYXN5IHRvIGNoZWF0IHRoZSBjb21waWxlcg0KSSBkb24ndCB0 aGluayBpdCdzIGNoZWF0aW5nIG9yIGFidXNpdmUuDQo+IGZyb20gc2VlaW5nIHRoZSBleHBy ZXNzaW8gY29udGV4dCB3aHkgZG9lcyB0aGUgY29tcGlsZXIgcmVzdHJpY3QgdGhpcz8gDQo+ IGV4cHJlc3Npb24gYW5kIGRlZmludGlvbiBjb250ZXh0LCBpJ20gbm90IHN1cmUgdGhleSBh cmUgaW4gc2NoZW1lIA0KPiBzdGFuZGFydHMsIGFyZSB0aGV5IHJlYWxseSB1c2VmdWxsPw0K PiB3aHkgbm90IHJlbW92ZSB0aGlzIGZyb20gU2NoZW1lIGF0IGFsbD8NCj4NCkkgaGF2ZW4n dCByZWFkIHRoZSBSblJTIGNsb3NlbHksIGJ1dCBJIGRvdWJ0IHRoYXQNCg0KKHNvbWUtcHJv Y2VkdXJlIChkZWZpbmUgZm9vIDApIChkZWZpbmUgYmFyIDApKQ0KDQppcyBhbGxvd2VkIGJ5 IHRoZSBzdGFuZGFyZCBhbmQgdGhhdCBpdCBjb3VsZCBiZSBtZWFuaW5nZnVsLg0KDQpBbHNv LCBldmVuIGlmIChiZWdpbiAuLi4pIGFuZCAobGV0ICgpIC4uLikgd2hlcmUgdW5pZmllZCwg aXQgd291bGQgYmUgYSANCnNoYW1lIHRvIGxvc2UgdGhlIGFiaWxpdHkgdG8gb25seSBoYXZl IHNvbWUgZGVmaW5pdGlvbnMgdGVtcG9yYXJpbHk6DQoNCihkZWZpbmUgZm9vIDApDQoNCihs ZXQgKChmb28gMCkpDQogwqAgd2hhdGV2ZXItc29tZXRoaW5nLXVzaW5nLXRoZS1pbm5lci1m b28pDQoNCnNvbWV0aGluZy11c2luZy10aGUtb3V0ZXItZm9vLWFnYWluDQoNCklmICdsZXQn IHdhcyByZXBsYWNlZCBieSAnYmVnaW4nLCB0aGVuIGl0IHdvdWxkIGhhdmUgZGlmZmVyZW50 IHNlbWFudGljcy4NCg0KR3JlZXRpbmdzLA0KTWF4aW1lLg0KDQo= --------------dT3hw1Jd0W5fT5ZKpoG828zv Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 27-08-2022 18:48, Damien Mattei wrote:
My ideas is = as it is so easy to cheat the compiler
I don't think it's cheating or abusive.
from seeing= the expressio context why does the compiler restrict this? expression and defintion context, i'm not sure they are in scheme standarts, are they really usefull?
why not remo= ve this from Scheme at all?

I haven't read the RnRS closely, but I doubt that

(some-procedure (define foo 0) (define bar 0))

is allowed by the standard and that it could be meaningful.

Also, even if (begin ...) and (let () ...) where unified, it would be a shame to lose the ability to only have some definitions temporarily:

(define foo 0)

(let ((foo 0))
=C2=A0 whatever-something-using-the-inner-foo)

something-using-the-outer-foo-again

If 'let' was replaced by 'begin', then it would have different semantics.

Greetings,
Maxime.

--------------dT3hw1Jd0W5fT5ZKpoG828zv-- --------------zBrpV8a6iA0uwEkQv2R7YxF7 Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------zBrpV8a6iA0uwEkQv2R7YxF7-- --------------MfReruXOmLSqemnkm7DOfeLP-- --------------WLR7LTi7v1HYaMYbEkEs7HKg Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYwpNnQUDAAAAAAAKCRBJ4+4iGRcl7hZu AP0T+HEEpeKQY/DYoVW0g5hnIqDX7K3JwaQtPZ2EaFVxFwD+LHIAYjgV4ENeGGoqnnBfSvxVvC9D ENKPiSbmrq5K7QQ= =UFpi -----END PGP SIGNATURE----- --------------WLR7LTi7v1HYaMYbEkEs7HKg--