First developed by American mathematician Alonzo Church in the 1930s, lambda calculus is a formal system for expressing computation based on the abstraction of functions. It is a foundational principle in mathematical logic. Lambda calculus aims to be a simple system of computation that is an alternative to the "hardware" approach used by Turing machines.
How is lambda calculus used?
In computer programming, lambda calculus is used to anonymize functions, allowing them to be referred to in the abstract sense. This action makes them first-class objects, allowing them to be operated on like any other entity in the language. For example, an anonymous function can be passed to other functions as a parameter.
One of the first programming languages to use anonymous functions was LISP (list processor). The special word lambda in LISP defines a function without giving it a name. For instance, the function x + 2 can be defined anonymously in LISP with the following statement:
(lambda (x) (+ x 2))