Skip to main content

The Implementation of Functional Programming Languages

Series: Haskell Books
The Implementation of Functional Programming Languages
Simon Peyton Jones
Prentice Hall


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 super-combinators, 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.


  • First Edition
    • Published: January 1987
    • Pages: 457
    • Color: black and white
  • Website
    • Free PDF is available
    • Errata is available
  • Purchase/Reviews
    • Amazon (Change the URL domain to see the page for your localized storefront.)

Travis Cardwell