All traditional implementation techniques for functional languages (mostly based on supercombinators, environments or continuations) fail to avoid useless repetition of work; they are not 'optimal' in their implementation of sharing, often causing a catastrophic, exponential explosion in reduction time. Optimal reduction is an innovative graph reduction technique for functional expressions, introduced by Lamping in 1990, that solves the sharing problem. This book, the first in the subject, is a comprehensive account by two of its leading exponents. Practical implementation aspects are fully covered as are the mathematical underpinnings of the subject. The relationship to the pioneering work of Lévy and to Girard's more recent Geometry of Interaction are explored; optimal reduction is thereby revealed as a prime example of how a beautiful mathematical theory can lead to practical benefit. The book is essentially self-contained, requiring no more than basic familiarity with functional languages. It will be welcomed by graduate students and research workers in lambda calculus, functional programming or linear logic.

• A highly innovative topic, presented by two specialists of the field • A nice example of application of a beautiful, complex theory to an important practical problem: sharing • A complete monograph: from theoretical to practical, implementation aspects

### Contents

1. Introduction; 2. Optimal reduction; 3. The full algorithm; 4. Optimal reductions and linear logic; 5. Zig-zag; 6. Paths; 7. Read-back; 8. Other translations in sharing graphs; 9. Safe nodes; 10. Complexity; 11. Functional programming; 12. Source language; Bibliography; Index.