New book

available!

Lambda Calculus & A++



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.

Printing-Version