lambda abstraction

from The Free On-line Dictionary of Computing (8 July 2008)
lambda abstraction

   A term in {lambda-calculus} denoting a function.  A lambda
   abstraction begins with a lower-case lambda (represented as
   "\" in this document), followed by a variable name (the "bound
   variable"), a full stop and a {lambda expression} (the body).
   The body is taken to extend as far to the right as possible
   so, for example an expression,

   	\ x . \ y . x+y

   is read as

   	\ x . (\ y . x+y).

   A nested abstraction such as this is often abbreviated to:

   	\ x y . x + y

   The lambda expression (\ v . E) denotes a function which takes
   an argument and returns the term E with all {free} occurrences
   of v replaced by the {actual argument}.  Application is
   represented by {juxtaposition} so

   	(\ x . x) 42

   represents the identity function applied to the constant 42.

   A {lambda abstraction} in {Lisp} is written as the symbol
   lambda, a list of zero or more variable names and a list of
   zero or more terms, e.g.

   	(lambda (x y) (plus x y))

   Lambda expressions in {Haskell} are written as a backslash,
   "\", one or more patterns (e.g. variable names), "->" and an
   expression, e.g. \ x -> x.

   (1995-01-24)
    

[email protected]