Abstract Computing Machines [electronic resource] :A Lambda Calculus Perspective / by W. Kluge ; edited by W. Brauer, G. Rozenberg, A. Salomaa.
by Kluge, W [author.]; Brauer, W [editor.]; Rozenberg, G [editor.]; Salomaa, A [editor.]; SpringerLink (Online service).
Material type:
Item type | Current location | Call number | Status | Date due | Barcode |
---|---|---|---|---|---|
QA76.76.C65 (Browse shelf) | Available | ||||
Long Loan | MAIN LIBRARY | QA76.7-76.73 (Browse shelf) | Available |
Close shelf browser
QA76.76.C65 Programming Languages and Systems | QA76.76.C65 JRuby Rails Web Application Development | QA76.76.C65 Practical Aspects of Declarative Languages | QA76.76.C65 Abstract Computing Machines | QA76.76.C65 Implementation of Functional Languages | QA76.76.C65 Implementing Distributed Systems with Java and CORBA | QA76.76.C65 Practical Aspects of Declarative Languages |
Algorithms and Programs -- An Algorithmic Language -- The ?-Calculus -- The se(m)cd Machine and Others -- Toward Full-Fledged ?-Calculus Machines -- Interpreted Head-Order Graph Reduction -- The B-Machine -- The G-Machine -- The ?-red Machinery -- Pattern Matching -- Another Functional Abstract Machine -- Imperative Abstract Machines -- Real Computing Machines.
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.
There are no comments for this item.