First Class Functional Programming Books
Written by Kay Ewbank   
Monday, 28 June 2021
Article Index
First Class Functional Programming Books
Clojure & Scala
Lisp, Scheme, Erlang

The Scheme Programming Language

Author: R. Kent Dybvig
Publisher:  MIT Press; 4th edition
Pages: 512
ISBN: 978-0262512985

Scheme is a language derived from Lisp and as such it is loved by academics who want to make use of its recursion and list processing and the fact that a Scheme program can be naturally treated as Scheme data.

As a language Scheme even looks complicated and advanced and this particular book does nothing to put the beginner at ease. Mike James described it as having a dense, terse, textbook style, but said it was comprehensive and authoritative, and worthy of 4.5 stars. Right from the word go the book uses an academic presentation with some concession to informal language. This could be offputting, but if you want an academic approach and already have the basic idea of what Lisp like languages are all about it might even be a positive advantage.


Overall this provides an authoritative treatment of Scheme which, as an academic text is comparatively easy to read – but Scheme for dummies it certainly isn't.

Practical Common Lisp

Author: Peter Seibel
Publisher: Apress
Pages: 499
ISBN: 978-1430242901

A practical book on Common Lisp - surely some mistake? asked Mike James when reviewing this book. Awarding it four stars he said that readers need to remember that Common Lisp is a dialect and the more academic version of Lisp is probably Scheme, which is what you probably learned if you encountered Lisp as part of a computer science course. In principle, Common Lisp is supposed to be the practical one.



This is a book that aims to introduce you to Common Lisp and to a certain extent convince you that it is indeed a practical language. Overall the book is aimed at experienced programmers who want to know about Common Lisp. If you are a complete beginner then don't bother trying to learn Lisp by reading this book. You even need to be a fairly well read and competent programmer to get much out of it.

Mike had reservations despite giving the book four stars, saying that it's only a good book with which to learn Common Lisp if you like rambling accounts of programming languages. It isn't a concise introduction to anything and you do need to be a fairly sophisticated programmer to follow its account.

While Erlang isn't generally considered a mainstream Functional Programmming language, it does offer immutable data, pattern matching and functional programming. It is a very efficient concurrent language and we have a couple of titles that will explain why you might want to use it and for what purposes.

Programming Erlang Software for a Concurrent World

Author: Joe Armstrong
Publisher: Pragmatic Bookshelf
Pages: 536
ISBN: 978-1937785536

This gentle introduction to Erlang with convincing examples was described by Mike James as a fairly low level introduction to an important parallel processing language with convincing examples. He awarded the first edition four stars, since when an updated second edition has been published with seven new chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment.

Mike's conclusion was that overall the book is quite good and provides an introduction to a high-level concurrent language that might just be the solution we are looking for, and the book is currently the best introductory text on offer.

Erlang and OTP in Action  

Author: Martin Logan,Eric Merritt, and Richard Carlsson
Publisher: Manning
Pages: 500
ISBN: 978-1933988788

Reviewing this book, Alex Armstrong said that while Erlang isn't the most popular language on the planet, it is an interesting one. It has a strange history and an association with the telecoms industry but don't let that put you off - it is a perfectly general language. This book, which Alex awarded 4.5 stars, covers Erlang and its almost indispensable framework OTP - the Open Telecom Platform, which is a much more general framework than the name suggests.


Alex concluded that this probably isn't the only Erlang book you will need, but it is essential. If you want to use Erlang in a modern and appropriate way and if you want to master OTP then this book is what you need. Highly recommended.





Last Updated ( Wednesday, 19 January 2022 )