The book addresses ways and means of organizing computations, highlighting the relationship between algorithms and the basic mechanisms and runtime structures necessary to execute them using machines. It completely abstracts from concrete programming languages and machine architectures, taking instead the lambda calculus as the basic programming and program execution model to design various abstract machines for its correct implementation. This book takes a lambda calculus approach to organizing computations. It sets out with a brief introduction to lambda calculus, describes a variant of the classical SECD-machine as a basic interpreter for the lambda calculus, and in the main part continues with fully normalizing abstract lambda calculus machines, of which some are interpreting and some execute compiled code.
Received a Dr. rer. nat. degree in physics from the Technical University Munich/Germany in 1968; worked in industrie/research institutes at the central laboratories of Siemens AG between 1963 and 1968, at Bell Northern Research Ltd in Ottawa/Canada between 1969, and 1972 at the Gesellschaft fuer Mathematik und Datenverarbeitung in St. Augustin/Germany between 1973 and 1978; became an associate professor of computer science at the University of Bonn/Germany in 1978; became a full professor of computer science at the University of Kiel/Germany retired in 2003.