This book demonstrates however that the three basic operations
of the Lambda Calculus can be generalized and
applied to almost any programming language. These basic operations
of the Lambda Calculus *in their generalized form* are called **ARS**
and can be defined as follows:

These operations may sound rather trivial and abstract but taken as principles of programming they change the style and method of programming thoroughly.

The **generalization of the Lambda Calculus**
consists in defining the concept of abstraction
simply by `give something a name'. The name
hides all the details of the defined. Abstraction
thus defined requires an *explicit definition of a name*.

The Lambda Calculus does not allow for an explicit definition of a name. The only possibility to associate a name to a value in the Lambda Calculus is by calling a function with an argument.

The consequences of this little difference are tremendous:
Whereas the application of the Lambda Calculus always leads to
functional programming languages, ARS allows to develop **general programming
patterns** for functional programming as well as for object oriented and
imperative programming.

Georg P. Loczewski 2002-07-20 |