The Lambda Calculus


Book Description

The revised edition contains a new chapter which provides an elegant description of the semantics. The various classes of lambda calculus models are described in a uniform manner. Some didactical improvements have been made to this edition. An example of a simple model is given and then the general theory (of categorical models) is developed. Indications are given of those parts of the book which can be used to form a coherent course.




An Introduction to Functional Programming Through Lambda Calculus


Book Description

Well-respected text for computer science students provides an accessible introduction to functional programming. Cogent examples illuminate the central ideas, and numerous exercises offer reinforcement. Includes solutions. 1989 edition.




Lambda-Calculus and Combinators


Book Description

Combinatory logic and lambda-calculus, originally devised in the 1920's, have since developed into linguistic tools, especially useful in programming languages. The authors' previous book served as the main reference for introductory courses on lambda-calculus for over 20 years: this long-awaited new version is thoroughly revised and offers a fully up-to-date account of the subject, with the same authoritative exposition. The grammar and basic properties of both combinatory logic and lambda-calculus are discussed, followed by an introduction to type-theory. Typed and untyped versions of the systems, and their differences, are covered. Lambda-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 at the end of the book.




Lambda Calculus with Types


Book Description

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.




The Parametric Lambda Calculus


Book Description

The parametric lambda calculus is a metamodel for reasoning about various kinds of computations. Its syntactic definition is based on the notion of "sets of input values", and different lambda calculi can be obtained from it by instantiating such sets in suitable ways. The parametric lambda calculus is used as a tool for presenting in a uniform way basic notions of programming languages, and for studying with a uniform approach some lambda calculi modeling different kinds of computations, such as call-by-name, both in its lazy and non-lazy versions, and call-by-value. The parametric presentation allows us both to prove in one step all the fundamental properties of different calculi, and to compare them with each other. The book includes some classical results in the field of lambda calculi, but completely rephrased using the parametric approach, together with some new results. The lambda calculi are presented from a computer science viewpoint, with particular emphasis on their semantics, both operational and denotational. This book is dedicated to researchers, and can be used as a textbook for masters or Ph.D. courses on the foundations of computer science.




Abstract Computing Machines


Book Description

The book emphasizes the design of full-fledged, fully normalizing lambda calculus machinery, as opposed to the just weakly normalizing machines.




Domains and Lambda-Calculi


Book Description

Graduate text on mathematical foundations of programming languages, and operational and denotational semantics.




From Lambda Calculus to Cybersecurity Through Program Analysis


Book Description

This Festschrift is in honor of Chris Hankin, Professor at the Imperial College in London, UK, on the Occasion of His 65th Birthday. Chris Hankin is a Fellow of the Institute for Security Science and Technology and a Professor of Computing Science. His research is in cyber security, data analytics and semantics-based program analysis. He leads multidisciplinary projects focused on developing advanced visual analytics and providing better decision support to defend against cyber attacks. This Festschrift is a collection of scientific contributions related to the topics that have marked the research career of Professor Chris Hankin. The contributions have been written to honour Chris' career and on the occasion of his retirement.




Lambda-calculus, Combinators and Functional Programming


Book Description

Originally published in 1988, this book presents an introduction to lambda-calculus and combinators without getting lost in the details of mathematical aspects of their theory. Lambda-calculus is treated here as a functional language and its relevance to computer science is clearly demonstrated. The main purpose of the book is to provide computer science students and researchers with a firm background in lambda-calculus and combinators and show the applicabillity of these theories to functional programming. The presentation of the material is self-contained. It can be used as a primary text for a course on functional programming. It can also be used as a supplementary text for courses on the structure and implementation of programming languages, theory of computing, or semantics of programming languages.




Introduction to Combinators and (lambda) Calculus


Book Description

Combinatory logic and lambda-conversion were originally devised in the 1920s for investigating the foundations of mathematics using the basic concept of 'operation' instead of 'set'. They have now developed into linguistic tools, useful in several branches of logic and computer science, especially in the study of programming languages. These notes form a simple introduction to the two topics, suitable for a reader who has no previous knowledge of combinatory logic, but has taken an undergraduate course in predicate calculus and recursive functions. The key ideas and basic results are presented, as well as a number of more specialised topics, and man), exercises are included to provide manipulative practice.