The Optimal Implementation of Functional Programming Languages

The Optimal Implementation of Functional Programming Languages

by Andrea Asperti
     
 

ISBN-10: 0521621127

ISBN-13: 9780521621120

Pub. Date: 01/01/1999

Publisher: Cambridge University Press

All traditional implementation techniques for functional languages 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

…  See more details below

Overview

All traditional implementation techniques for functional languages 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 work, the first on 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.

Read More

Product Details

ISBN-13:
9780521621120
Publisher:
Cambridge University Press
Publication date:
01/01/1999
Series:
Cambridge Tracts in Theoretical Computer Science Series
Pages:
408
Product dimensions:
5.98(w) x 8.98(h) x 1.06(d)

Table of 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.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >