
The Optimal Implementation of Functional Programming Languages
Cambridge University Press
Published on 3. December 1998
Book
Hardback
408 pages
978-0-521-62112-0 (ISBN)
Description
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 Levy 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.
More details
Series
Language
English
Place of publication
Cambridge
United Kingdom
Target group
Professional and scholarly
Dimensions
Height: 235 mm
Width: 157 mm
Thickness: 28 mm
Weight
810 gr
ISBN-13
978-0-521-62112-0 (9780521621120)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Persons
Author
Universita degli Studi, Bologna, Italy
ProfessorQueen Mary University of London
Content
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.