The Implementation of Functional Programming Languages

The Implementation of Functional Programming Languages

Describes how to translate a high-level functional language into an intermediate language, called the lambda calculus, and its implementation using lazy graph reduction.

Publication date: 31 Dec 1987

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 20,397

Type: N/A

Publisher: n/a

License: n/a

Post time: 01 Dec 2006 02:51:50

The Implementation of Functional Programming Languages

The Implementation of Functional Programming Languages Describes how to translate a high-level functional language into an intermediate language, called the lambda calculus, and its implementation using lazy graph reduction.
Tag(s): Functional Programming
Publication date: 31 Dec 1987
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 20,397
Document Type: N/A
Publisher: n/a
License: n/a
Post time: 01 Dec 2006 02:51:50
Terms and Conditions:
Simon Peyton Jones wrote:My 1987 book is now out of print, but it is now available online in its entirety.


Book Excerpts:

This book is about implementing functional programming languages using lazy graph reduction, and it divides into three parts.

The first part describes how to translate a high-level functional language into an intermediate language, called the lambda calculus, including detailed coverage of pattern-matching and type-checking. The second part begins with a simple implementation of the lambda calculus, based on graph reduction, and then develops a number of refinements and alternatives, such as supercombinators, full laziness and SK combinators. Finally, the third part describes the G-machine, a sophisticated implementation of graph reduction, which provides a dramatic increase in performance over the implementations described earlier.

One of the agreed advantages of functional languages is their semantic simplicity. This simplicity has considerable payoffs in the book. This book repeatedly able to make semi-formal arguments for the correctness of the compilation algorithms, and the whole book has a distinctly mathematical flavor - an unusual feature in a book about implementations.

Most of the material to be presented has appeared in the published literature in some form (though some has not), but mainly in the form of conference proceedings and isolated papers. References to this work appear at the end of each chapter.

Intended Audience:

This book is about implementations, not languages, it will make no attempt to extol the virtues of functional languages or the functional programming style. Instead this book will assume that the reader is familiar with functional programming; those without this familiarity may find it heavy going.
 




About The Author(s)


Principal Researcher at Microsoft Research.

Simon Peyton Jones

Principal Researcher at Microsoft Research.


Book Categories
Sponsors