
The Implementation of Functional Programming Languages
by Simon L. Peyton Jones · first published 1987
44mentions
22recommended by
33HN commenters
2008–2026first – last mentioned
67% recommend30% neutral3% critical
Why HN recommends it
Accessible, free-to-read walk through compiling lazy functional languages like Miranda and Haskell: lambda calculus, graph reduction, type checking. Suits those building their own language implementation.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…did a splendid job of teaching me about lambda calculus back in the 1980s and who really got my attention when he explained about S and K combinators. Another excellent work from that same time is The Implementation of Functional Programming Languages by Simon Peyton Jones which is available online for free: http://research.microsoft.com/en-us/um/people/simonpj/papers... [Edit: I know this is an old work - but I'm very fond of it!]
on “A Short Introduction to the Lambda Calculus (2004) [pdf]” ↗While not being exactly about type theory like Pierce books (you can't waste your money on those), I really like the part about types in "The Implementation of Functional Programming Languages" by Peyton Jones (the chapters about type system are written by Peter Hancock). It's seen mostly from a technical point of view. The book notably contains a fully explained implementation of a type checker.…
on “R, the master troll of statistical languages (2012)” ↗Simon Peyton Jones' seminal work "Implementation of Functional Programming Languages" is available free of charge now that it's out of print[0]. If you haven't read it yet I'd highly encourage it! [0]: https://www.microsoft.com/en-us/research/publication/the-imp...
on “Write you a Haskell (2015)” ↗If you are interested in the subject, The Implementation of Functional Programming Languages by Simon Peyton Jones is actually freely available on his Microsoft Research page : https://www.microsoft.com/en-us/research/publication/the-imp... The book is really great. It starts with a very interesting…
on “Writing a simple evaluator and type-checker in Haskell” ↗…really enjoyed "Modern Compiler Design" (http://www.few.vu.nl/~dick/MCD.html). They also talk about implementing functional languages. And if you already know how to write a lexer and a parser, "The Implementation of Functional Programming Languages" by Simon Peyton Jones is worth reading.
on “Going back to C” ↗…language research in the 1970's and 1980's that is not really used in mainstream programming languages in these days. A good collection of this material can be found in Simon Peyton-Jones' book "The implementation of functional programming languages". Probably out of print (my uni library has one), but freely available on the net, here's the link: http://research.microsoft.com/en-us/um/people/simonpj/papers... It's worth to note that since the Miranda…
on “Wadler's critique of SICP (1987)” ↗…want to create your own language implementation, given the existence of many good lexer/parser generators to which you can just pass in a formal grammar. Another book I also found very useful was "The Implementation of Functional Programming Languages" by Simon Peyton Jones (http://research.microsoft.com/en-us/um/people/simonpj/papers...), though it's mostly of use only if you're specifically interested in functional programming (which is what I've…
on “Show HN: a lexer, parser, interpreter and web runtime (np, a 5-weekend project)” ↗I think it lacks the property of being "a paper", but I'll happily nominate The Implementation of Functional Programming Languages Simon Peyton Jones, Prentice Hall 1987 http://research.microsoft.com/en-us/um/people/simonpj/papers...
on “Great Works in Programming Languages” ↗Are you aware of /The Implementation of Functional Programming Languages/ by Simon Peyton Jones, the main person behind the front end of the GHC Haskell Compiler? The full book is available free on his web site as PDF: https://www.microsoft.com/en-us/research/publication/the-imp...…
on “The sequel to Writing an Interpreter in Go is coming this summer” ↗I learned about Miranda from the appendix of "The Implementation of Functional Programming Languages" 1987 book by Simon Peyton Jones (IIRC one can find a PDF copy online). I liked it a lot though I had no access to its implementation. Glad to know it is now available. Its implementation is small by…
on “Miranda released as free software” ↗…personally read this, but I have read the sequel, Advanced Types and Programming Languages. Both books have exercises and most exercises have solutions. Simon Peyton-Jones wrote a very good book, the Implementation of Functional Programming Languages. It is old (1987), but free, a good read, and covers most of the “important” topics without assuming too much background: https://www.microsoft.com/en-us/research/publication/the-imp... For formal verification…
on “Homotopy Type Theory (2012) [pdf]” ↗I like Jones' "The Implementation of Functional Programming Languages" (http://research.microsoft.com/~simonpj/papers/slpj-book-1987...) much more. (Both books do not cover exactly the same topic - but Jones' book has deeper math.)
on “Niklaus Wirth: Compiler Construction (Addison Wesley book)” ↗…the same thing, in the same sense that "Lazy Evaluation" is not the same thing as "Non-strict Semantics", but "Term Re-Writing" is closely allied with "Graph Reduction. Simon Peyton-Jones' books "The Implementation of Functional Programming Languages" and "Implementing Functional Languages: a tutorial" are excellent works. Now out of print, they can both be found on-line. The following references also help ... http://www.google.com/search?q=implementing+functional+langu...…
on “The Pure programming language” ↗I really liked "The Implementation of Functional Programming Languages" by Simon Peyton Jones, which is available online: http://research.microsoft.com/en-us/um/people/simonpj/papers...
on “Must Read CS Books For Self Self-Taught Programmers” ↗…implication and trade-off than it seems (especially let). For people interested in type checkers, there is a couple of really good chapters by written by Peter Hancock in a book available online : The Implementation of Functional Programming Languages by Simon Peyton Jones. They entirely cover the theory and there is a complete implementation in Miranda. Here is the link : http://research.microsoft.com/en-us/um/people/simonpj/papers...
on ““What part of Milner-Hindley do you not understand?”” ↗