lambda-calculus


lambda-calculus

(mathematics)(Normally written with a Greek letter lambda).A branch of mathematical logic developed by Alonzo Church inthe late 1930s and early 1940s, dealing with the applicationof functions to their arguments. The pure lambda-calculuscontains no constants - neither numbers nor mathematicalfunctions such as plus - and is untyped. It consists only oflambda abstractions (functions), variables and applicationsof one function to another. All entities must therefore berepresented as functions. For example, the natural number Ncan be represented as the function which applies its firstargument to its second N times (Church integer N).

Church invented lambda-calculus in order to set up afoundational project restricting mathematics to quantitieswith "effective procedures". Unfortunately, the resultingsystem admits Russell's paradox in a particularly nasty way;Church couldn't see any way to get rid of it, and gave theproject up.

Most functional programming languages are equivalent tolambda-calculus extended with constants and types. Lispuses a variant of lambda notation for defining functions butonly its purely functional subset is really equivalent tolambda-calculus.

See reduction.