Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Implementing functional languages
Peyton Jones S., Lester D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780137219520)
Date Reviewed: Apr 1 1993

This student textbook should be considered as an expanded and enhanced tutorial version of the well-known book [1] by Peyton Jones. While the earlier work is an excellent introduction to the theoretical background and main techniques for implementing lazy functional languages using graph reduction, this book gives hands-on experience by building working prototypes of several implementations of a carefully chosen simple functional language called Core.

The implementations, each discussed in a separate chapter, are a template-instantiation, the G-machine, the three instruction machine (TIM), and the parallel G-machine. In each case, the authors lead the reader to the working prototype through a sequence of refinements and improvements. They present the executable machine code at each step, thus allowing development, modifications, and experiments with it. As they note in the preface, “The unusual aspect of this book is that it is meant to be executed as well as read.”

An important topic not covered is the translation of existing high-level functional languages into Core. A chapter on lambda-lifting provides some useful details about that process, but the reader is referred to the earlier work [1] for a full explanation. Therefore, this book cannot be used directly as a guide for implementers of functional languages; in this sense, it is not self-contained.

The book is addressed primarily to graduate students with a significant knowledge of functional programming and compiler and interpreter methods. A modest knowledge of Miranda (the prototyping functional language) would be helpful; other readers will need to study the details of the language and the utility programs provided in the appendices.

Although the authors provide email addresses from which source files can be obtained, a useful complement to the book for lab work would be a disk containing all sources and variants of implementations along with some documentation. I recommend this well-written and pragmatic book as a useful tutorial for anybody interested in modern implementation techniques for functional languages.

Reviewer:  S. Stanchev Review #: CR116444
1) Peyton Jones, S. L. The implementation of functional programming languages. Prentice-Hall, Englewood Cliffs, NJ, 1987.
Bookmark and Share
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Compilers (D.3.4 ... )
 
 
Applicative (Functional) Programming (D.1.1 )
 
 
Language Constructs and Features (D.3.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Applicative (Functional) Languages": Date
Implementation of non-strict functional programming languages
Traub K., MIT Press, Cambridge, MA, 1991. Type: Book (9780262700429)
Jun 1 1992
Understanding Russell–a first attempt
Hook J.  Semantics of data types (, Sophia-Antipolis, France, Jun 27-29, 1984)851984. Type: Proceedings
Jun 1 1985
Equational logic as a programming language
O’Donnell M., Massachusetts Institute of Technology, Cambridge, MA, 1985. Type: Book (9789780262150286)
Jul 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy