Mathematician and logician Alonzo Church worked extensively on several theorems and thesis, but he is best known for having created the lambda calculus (also written as λ-calculus).
Introduced in the 1930s, lambda calculus is a formal system (a set of rules that allow you to infer theorems from axioms/premisses) for expressing ways of solving problems based on function abstraction and application. It’s a
universal model of computation that can be used to simulate any
Turing machine — this has several implications, but one of the most interesting ones is that you can develop whole programming languages around this concept.
In its simplest form, you build terms using only the following rules:
-
Variables: characters or strings that represent a parameter or value
-
Abstractions: basically function definitions, where you bind a variable to an expression
-
Applications: applying a function to an argument
This might sound quite theoretical or abstract, but the most interesting point is that the
LISP programming language and functional programming languages in general were heavily influenced by Church’s work on lambda calculus.
Further reading