Freshly Printed - allow 8 days lead
Couldn't load pickup availability
Lambda Calculus with Types
This handbook with exercises reveals the mathematical beauty of formalisms hitherto mostly used for software and hardware design and verification.
Henk Barendregt (Author), Wil Dekkers (Author), Richard Statman (Author)
9780521766142, Cambridge University Press
Hardback, published 20 June 2013
856 pages, 52 b/w illus. 300 exercises
24.4 x 17 x 4.4 cm, 1.55 kg
'The authors have produced a well-written, organised and comprehensive account of three important type systems. These systems' properties have been rich sources of interest to logicians for many years; their problems are not all solved, and in future work this book will almost certainly become a standard reference about them. It will also allow the more mathematically inclined computer scientist to obtain a deeper understanding of the principles behind some of the higher order languages in current use.' Bulletin of the London Mathematical Society
This handbook with exercises reveals in formalisms, hitherto mainly used for hardware and software design and verification, unexpected mathematical beauty. The lambda calculus forms a prototype universal programming language, which in its untyped version is related to Lisp, and was treated in the first author's classic The Lambda Calculus (1984). The formalism has since been extended with types and used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), used in designing and verifying IT products and mathematical proofs. In this book, the authors focus on three classes of typing for lambda terms: simple types, recursive types and intersection types. It is in these three formalisms of terms and types that the unexpected mathematical beauty is revealed. The treatment is authoritative and comprehensive, complemented by an exhaustive bibliography, and numerous exercises are provided to deepen the readers' understanding and increase their confidence using types.
List of contributors
Preface
Introduction
Part I. Simple Types: 1. The simply typed lambda calculus
2. Properties
3. Tools
4. Definability, unification and matching
5. Extensions
6. Applications
Part II. Recursive Types: 7. The systems
8. Properties of recursive types
9. Properties of terms with types
10. Models
11. Applications
Part III. Intersection Types: 12. An exemplary system
13. Type assignment systems
14. Basic properties
15. Type and lambda structures
16. Filter models
17. Advanced properties and applications
Bibliography
Symbol index
Names index
Definitions index.
Subject Areas: Mathematical theory of computation [UYA], Mathematical logic [PBCD]
