Raffael Cavallaro <firstname.lastname@example.org> wrote:
| anonymous.c.lis...@gmail.com wrote:
| > When evaluating a lisp program you apply the car to the (evaluated)
| > cdr, right?
| > > (((lambda (x) (lambda (y) (+ x y))) 3) 4)
| > Does not do this (it (appears to) apply the evaluated car, to the
| > (evaluated?) cdr).
| Only if you see the lambda expression as a form to be evaluated rather
| than the "name" of an otherwise anonymous function. See Kent Pitman's
| post wrt this up thread.
Whereas I for one *do* "see the lambda expression as a form to be
evaluated" rather than a name!! [See my reply to Kent's up thread.]
But also being a Lisp2 [or LispN] proponent, it also wouldn't bother
me if one had to write the above this way in CL: ;-}
(funcall (funcall (lambda (x) (lambda (y) (+ x y))) 3) 4)
Conversely, it also wouldn't bother me if all of the major CL
implementations started allowing other arbitrary function-value-returning
forms in the CAR of a function application form [in addition to
LAMBDA expressions]. It's just more mud for the ball... ;-}
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607