|
From: | Maxime Devos |
Subject: | Re: expression and definition context in Scheme |
Date: | Sat, 27 Aug 2022 19:00:13 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
I don't think it's cheating or abusive.My ideas is as it is so easy to cheat the compiler
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 remove 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))
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.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |