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.
In 1936 the notion of intuitive computability was operationalized in two different ways: via Turing machines and via lambda-calculus. The difference consisted in manipulating beads (bits) for the...
The 7th International Conference on Typed Lambda Calculi and Applications (TLCA 2005) was held in Nara (Japan) from 21 to 23 April 2005, as part of the Joint Conference on Rewriting, Deduction and...
This book is an introduction to the study of the lambda calculus. It explains how the lambda calculus can be used to define programming languages and to reason about their behavior. It is suitable...
The Lambda Calculus, treated in this book mainly in its untyped version, consists of a collection of expressions, called lambda terms, together with ways how to rewrite and identify these. In the...