Lambda Calculus
/ˈlæm.də ˈkæl.kjʊ.ləs/ · Noun · Development · Origin: 1936
Definitions
Lambda Calculus is a formal mathematical system for expressing computation based on function abstraction and application, developed by Alonzo Church in the 1930s. It provides the theoretical foundation for functional programming and is one of the two equivalent models of computation alongside the Turing machine. In lambda calculus, everything is a function: functions are defined using lambda expressions (written as a parameter and body), applied to arguments, and can return other functions. Despite its minimalist syntax (just variables, abstraction, and application), lambda calculus is Turing-complete, meaning it can express any computation. Key concepts include alpha-conversion (renaming bound variables), beta-reduction (applying functions to arguments), and eta-conversion (simplifying functions). Lambda calculus directly influenced the design of Lisp, Haskell, ML, and the lambda/arrow functions found in nearly every modern language (Python, JavaScript, Java, C++, Rust). Understanding lambda calculus provides deep insight into closures, higher-order functions, currying, and the nature of computation itself.
In plain English: A math notation from the 1930s that defines computation purely through functions. Every functional programming language traces its DNA back here.
Example: "Haskell is essentially sugar-coated lambda calculus — once you grok Church encoding, the whole language clicks."