Contents
Next:
Funcall
Up:
FunctionsLambda Expressions,
Previous:
Eval
Lambda Expressions
The Lambda Expression is the heart of Lisp's notion of a function.
The term comes from Alonzo Church's ``lambda calculus'' -- a
development of mathematical logic. You can think of a lambda
expression as an anonymous function. Just like a function it has a
list of parameters and a block of code specifying operations on those
parameters.
For example:
> (setf product '(lambda (x y) (* x y)))
(LAMBDA (X Y) (* X Y))
> product
(LAMBDA (X Y) (* X Y))
Note that in some recent versions of Common Lisp, the lambda
expression should be unquoted, or the next step will not work.
Use (setf product (lambda (x y) (* x y))) instead.
Lambda expressions can be used in conjunction with apply to mimic function calls:
> (apply product '(3 4))
12
© Colin Allen & Maneesh Dhagat
March 2007