Lambda Functions (fwd)

Robert W. McGrail mcgrail at bard.edu
Fri Aug 13 16:22:36 EDT 1999


> Hi All--
> I'm working on a book about the Python programming language.  Python
> allows the use of lambda functions, small anonymous functions that can
> speed up processing because they are effectively inlined, and often
> require less typing than conventional function definitions.
>
> Why lambda?  I realize that the term has come from functional
> programming languages, and Python's inventor explicitly took lambda
> from Scheme, but I'm interested in the history of the term.  Why that
> particular letter?  I assume it has something to do with the lambda
> calculus, but my ignorance runs deep in that area too.

The lambda calculus is the reason as you suspect.  This makes sense since the
core of functional abstraction in Scheme (or more generally Lisp) is based on the
lambda construct in the (call-by-value) lambda calculus.  The question remains as
to the use of lambda in the lambda calculus.  If my sources are correct the use
of lambda results from the limitations of typesetters in the time of the lambda
calculus' creator, Alonzo Church.  It seems that Church wanted to use a bar above
a variable to denote that the particular variable was bound in the body of a
lambda expression.  However, at some point the bar was replaced by another symbol
(I forget which) preceding the binding instance of the variable.  This symbol
eventually was replaced by a lambda.

Of course I am missing some details here.

--
Best Regards,
  Bob McGrail

****************************************************

By virtue knowledge

****************************************************
Bard College
Division of Natural Science and Mathematics
P.O. Box 5000
Annandale-on-Hudson, NY 12504
(914)758-7265

mcgrail at bard.edu
http://inside.bard.edu/~mcgrail






More information about the Python-list mailing list