Abstract Computing Machines: A Lambda Calculus Perspective
Book information
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. Introduction....Pages 1-9 Algorithms and Programs....Pages 11-35 An Algorithmic Language....Pages 37-49 The λ-Calculus....Pages 51-88 The se(m)cd Machine and Others....Pages 89-111 Toward Full-Fledged λ-Calculus Machines....Pages 113-147 Interpreted Head-Order Graph Reduction....Pages 149-169 The B -Machine....Pages 171-191 The G -Machine....Pages 193-213 The π- red Machinery....Pages 215-252 Pattern Matching....Pages 253-269 Another Functional Abstract Machine....Pages 271-287 Imperative Abstract Machines....Pages 289-319 Real Computing Machines....Pages 321-346
Similar books
Abstract Computing Machines: A Lambda Calculus Perspective
2005 · PDF
Introduction to Compiler Design
2011 · PDF
Formal Techniques in Real-Time and Fault-Tolerant Systems: 5th International Symposium, FTRTFT’98 Lyngby, Denmark, September 14–18, 1998 Proceedings
1998 · PDF
Pro ASP.NET 2.0 in C# 2005
2005 · PDF
Expert Oracle JDBC Programming
2005 · PDF
PHP Objects, Patterns, and Practice
2008 · PDF
Programming Language Concepts
2012 · PDF
Guide to ILDJIT
2011 · PDF