Title: Abstract computing machines
First published: 2005
Description: 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.
Subjects: Machine theory, Lambda calculus, Logic, symbolic and mathematical, Computer science, Logic design, Programming Languages, Compilers, Interpreters, Logics and Meanings of Programs
LC classification: QA267 .K58 2005