1.

Record Nr.

UNINA9910822226703321

Autore

Barendregt H. P (Hendrik Pieter)

Titolo

Lambda calculus with types / / Henk Barendregt, Wil Dekkers, Richard Statman ; with contributions from Fabio Alessi [and others] [[electronic resource]]

Pubbl/distr/stampa

Cambridge : , : Cambridge University Press, , 2013

ISBN

1-139-89197-9

1-107-27172-X

1-107-27381-1

1-107-27504-0

1-107-27707-8

1-139-03263-1

1-107-27830-9

1-299-77274-9

1-107-47131-1

Edizione

[1st ed.]

Descrizione fisica

1 online resource (xxii, 833 pages) : digital, PDF file(s)

Collana

Perspectives in logic

Disciplina

511.35

Soggetti

Lambda calculus

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Title from publisher's bibliographic system (viewed on 05 Oct 2015).

Nota di bibliografia

Includes bibliographical references and indexes.

Nota di contenuto

Introduction -- Part 1. Simple types. The simply typed lambda calculus -- Properties -- Tools -- Definability, unification and matching -- Extensions -- Applications -- Part II. Recursive types. The systems -- Properties of recursive types -- Properties of terms with types -- Models -- Applications -- Part III. Intersection types. An example system -- Type assignment systems -- Basic properties of intersection type assignment -- Type and lambda structures -- Filter models -- Advanced properties and applications.

Sommario/riassunto

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.