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|