home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.compilers      Compiler construction, theory, etc. (Mod      2,753 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,678 of 2,753   
   Nils M Holm to Kaz Kylheku   
   Re: Scheme is not another C-like languag   
   12 Jan 23 11:15:25   
   
   From: nmh@t3x.org   
      
   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]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca