Re: Scheme is not another C-like language? was Compilers :)

Nils M Holm <nmh@t3x.org>
Thu, 12 Jan 2023 11:15:25 +0100

          From comp.compilers

Related articles
Re: Scheme is not another C-like language? was Compilers :) gneuner2@comcast.net (George Neuner) (2023-01-12)
Re: Scheme is not another C-like language? was Compilers :) nmh@t3x.org (Nils M Holm) (2023-01-12)
| List of all articles for this month |

From: Nils M Holm <nmh@t3x.org>
Newsgroups: comp.compilers
Date: Thu, 12 Jan 2023 11:15:25 +0100
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="12337"; mail-complaints-to="abuse@iecc.com"
Keywords: Scheme, comment
Posted-Date: 12 Jan 2023 13:39:26 EST

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]


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.