Subject: Re: Pass by reference From: Erik Naggum <erik@naggum.net> Date: 18 Nov 2000 02:09:28 +0000 Newsgroups: comp.lang.lisp Message-ID: <3183502168138803@naggum.net> * Bruce Hoult <bruce@hoult.org> | All you have to do is pass a function that evaluates the expression. | This is common in nearly every language for things such as sort | functions, and certainly *extremely* common in languges such as Lisp | which allow anonymous lambda functions. You mean (lexical) closures, not just anonymous lambda functions. That's a very clever implementation technique, because using something like that is _not_ spelled out as we know to be closures today in the literature of these languages at the time, like the implementation of closures is not spelled out in the Common Lisp standard, either, only their semantics. E.g., I have seen the C-based Simula compiler go to some rather astonishing lengths _not_ to implement closures. Plus, I thought it would just be confusing to try to mix in closures with this design, since the closures are not accessible in the language, and any means of achieving same is acceptable, kinda like OUT arguments in Ada if you're in quibble mode. #:Erik -- ALGORITHM: a procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation. ALGOREISM: a procedure for solving an electoral problem in a finite number of steps that frequently involves repetition of an operation.