Subject: Re: Allegro CL groks it. Re: Repeated lambda variables
From: Erik Naggum <>
Date: 1999/01/10
Newsgroups: comp.lang.lisp
Message-ID: <>

* Marco Antoniotti <>
| 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. 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.) has the
  specification of the symbol LAMBDA.

| Any enlightening comments on the matter? Am I missing something from
| the specification?

  not any more.  :)