The Lambda Calculus has been created by the American
logician Alonzo Church in the
1930's and is documented in his works published in 1941 under
the title `The Calculi of Lambda Conversion'.

Alonzo Church
wanted to formulate a mathematical logical system and had no intent
to create a programming language. The intrinsic relationship of
his system to programming was discovered much later in a time in
which programming of computers became an issue.

The Lambda Calculus has stayed alive above all in the context
of functional programming. It has gained a major importance in
the area of compiler construction for functional languages
like Haskell, SML, Miranda and others.

In this article the importance of the Lambda Calculus is extended to
non-functional languages like Java, C, and C++ as well.
The article uses A++, a programming language directly derived from the
Lambda Calculus, as a vehicle to
demonstrate the application of the basic ideas of the Lambda Calculus in a
multi-paradigm environment.

As a mathematical logical system the Lambda Calculus is covered
in detail in [Bar81] and less comprehensively
but in a more readable form in [Sto81]. A clear
account of the historical origins and basic properties of the
lambda calculus is presented by Curry and Fey in their book
[CF58]. This view is taken from
[Jon87] page 23.

From the programmer's point of view the Lambda Calculus is
adressed in [Jon87], [Kam90], [Cha96].

The following pages first present the definitions and rules that make up the
core of the Lambda Calculus and thereafter A++, a programming language
designed as a tool
helping to become thoroughly familiar with the essentials of programming
without limitations to specific programming paradigms.

See also the Appendix: The Lambda Calculus in the online version of the
book A++ The Smallest Programming Language in the World.