Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.compilers > #3315
| From | Nils M Holm <nmh@t3x.org> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Scheme is not another C-like language? was Compilers :) |
| Date | 2023-01-12 11:15 +0100 |
| Organization | Compilers Central |
| Message-ID | <23-01-047@comp.compilers> (permalink) |
Kaz Kylheku <864-117-4973@kylheku.com> wrote:
> I tried (lambda () (define x 42) (define x 43)) in a Scheme
> implementation and got an error about the duplicate variable.
>
> That's completely silly since it breaks the idea that the block scoped
> define can just be desugared to nested lets.
If I am not completely mistaken, local DEFINE expands to LETREC
and not to nested LET, so your example would result in two
instances of X in the same scope:
(lambda ()
(letrec ((x 42)
(x 43))))
--
Nils M Holm < n m h @ t 3 x . o r g > http://t3x.org
[See the more complete analysis just posted. -John]
Back to comp.compilers | Previous | Next | Find similar
Re: Scheme is not another C-like language? was Compilers :) Nils M Holm <nmh@t3x.org> - 2023-01-12 11:15 +0100
csiph-web