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.

### Contents

Preface; 1. Introduction; 2. Type-free lambda-calculus; 3. Combinators and constant symbols; 4. List manipulation in lambda-calculus; 5. Rule-based semantics of λ-expressions; 6. Outlines of a reduction machine; 7. Towards a parallel graph-reduction; Appendix A: A proof of the Church-Rosser theorem; Appendix B: Introduction to typed λ-calculus; Bibliographical notes; References.