← Back to discovery

Abstract computing machines

Werner Kluge

2005384 pagesabout 6–9 hours
2005
first published
  • 2005Springer · 384 pages · ENGISBN 9783540211464
  • 2008SpringerISBN 9783540801085
  • 2010Springer · 398 pagesISBN 9783642059384

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. The emphasis is on fully normalizing machines based on full-fledged beta-reductions as essential prerequisites for symbolic computations that treat functions and variables truly as first-class objects. Their weakly normalizing counterparts are shown to be functional abstract machines that sacrifice the flavors of full beta-reductions for decidedly simpler runtime structures and improved runtime efficiency. Further downgrading of the lambda calculus leads to classical imperative machines that permit side-effecting operations on the runtime environment.

How do you feel?