Subject: Re: Allegro CL groks it. Re: Repeated lambda variables From: Erik Naggum <erik@naggum.no> Date: 1999/01/10 Newsgroups: comp.lang.lisp Message-ID: <3124962600686923@naggum.no> * Marco Antoniotti <marcoxa@copernico.parades.rm.cnr.it> | Moreover, I have the following doubt. In CMUCL it turns out that | | * ((lambda (x) (1+ x)) 3) | 4 | | However, this is puzzling to me. this has been meaningful since CLtL1 and way before then. it's called a `lambda form' in the standard. lambda form n. a form that is a list and that has a first element which is a lambda expression representing a function to be called on arguments which are the result of evaluating subsequent elements of the lambda form. 3.1.2.1.2.4 Lambda Forms reads: A lambda form is similar to a function form, except that the function name is replaced by a lambda expression. A lambda form is equivalent to using funcall of a lexical closure of the lambda expression on the given arguments. (In practice, some compilers are more likely to produce inline code for a lambda form than for an arbitrary named function that has been declared inline; however, such a difference is not semantic.) http://www.harlequin.com/books/HyperSpec/Body/sym_lambda.html has the specification of the symbol LAMBDA. | Any enlightening comments on the matter? Am I missing something from | the specification? not any more. :) #:Erik