Basic Concepts

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*.

Georg P. Loczewski 2003-07-24 | New book on A++ and the Lambda Calculus |