home bbs files messages ]

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

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

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

   Message 116,300 of 117,927   
   Anton Ertl to Paul Rubin   
   Re: Closures   
   12 Mar 24 07:29:16   
   
   From: anton@mips.complang.tuwien.ac.at   
      
   Paul Rubin  writes:   
   >But I thought call-by-name was not at all   
   >accidental.   
      
   What I read about Algol 60 (and I read several articles, so I cannot   
   point to where I read the following; the first thing I would look at   
   is the HOPL paper) says that they just wanted an elegant specification   
   that (I think) supports in-out semantics.  What they wrote down was   
   call-by-name, but they were not aware of all the consequences when   
   they wrote it.  This only was recognized later, and was finally widely   
   publicized with Jensen's device.   
      
   The claim that it was unintended is supported by the fact that neither   
   Algol W nor Algol 68 (two direct successors of Algol 60) have call by   
   name.   
      
   [Is a call-by-name parameter a closure]   
   >I would say that it is,   
      
   It certainly accesses variables visible in the caller, like more   
   typical closures.  If people want to emulate closures, they usually   
   pass something like an xt and execute it in the callee, just like more   
   typical closures.   
      
   >but in Algol-60 I guess it can be stack   
   >allocated, unlike Scheme closures which have to be on the heap.   
      
   Sophisticated Scheme compilers can determine when they can reside on   
   the stack.   
      
   - anton   
   --   
   M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html   
   comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html   
        New standard: https://forth-standard.org/   
      EuroForth 2023: https://euro.theforth.net/2023   
      
   --- 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