guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: expression and definition context in Scheme


From: Damien Mattei
Subject: Re: expression and definition context in Scheme
Date: Sat, 27 Aug 2022 21:02:16 +0200

hello Maxime,

On Sat, Aug 27, 2022 at 7:00 PM Maxime Devos <maximedevos@telenet.be> wrote:


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 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))

? i do not understand well the meaning

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

in fact just allow 'define that act locally ,see my comment below

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

i do not propose foo to overwrite the global one , just to allow local define that have a local (in the block) range.

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

Greetings,
Maxime.


Regards,
Damien 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]