Lambda-Calculus and Combinators were originally devised in the 1920s to investigate the foundations of mathematics using the basic concept of ‘operation’ instead of ‘set.’ They have since evolved into important tools for developing and studying programming languages.

The authors’ previous book, *Introduction to Combinators and λ-Calculus*, served as the main reference for introductory courses on λ-calculus for over 20 years: this long-awaited new version offers the same authoritative exposition. It has been thoroughly revised to provide a fully up-to-date account of the subject.

The grammar and basic properties of combinatory logic and λ-calculus are discussed, followed by an introduction to type theory. Typed and untyped versions of the systems, and their differences, are covered. λ-calculus models, which lie behind much of the semantics of programming languages, are also explained in depth.

The treatment is as non-technical as possible, with the main ideas emphasized and illustrated by examples. Many exercises are included, from routine to advanced, with solutions to most of them at the end of the book.* *