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 books in this collection are written for languages that can be described as functional - to a larger or lesser extent. Functional programming aims to remove the state and mutability out of programming and make it more like static math. In other words, it attempts to freeze time out of programming in the same way math does.

The description above is the classic way of describing functional programming, but behind the scenes there's usually a lot of messiness. Functional languages have to deal with making the clean ideas work in real life, and the compromises this results in can make a language pure but academic, or usable but not truly functional. 

We've taken a broad view of what constitutes a functional language, and picked the best books we've reviewed for Haskell, Clojure, Scala, Lisp, Scheme, Erlang and F#.

If you make a book purchase accessing Amazon via a link to it on IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way. 


These days, if asked to list some functional languages, most programmers would put Haskell high on the list. So that's where we will start.  

Haskell From The Very Beginning

Author: John Whitington
Publisher: Coherent Press
Pages: 214
ISBN: 978-0957671133

As a functional language, Haskell takes a different approach to programming to most other languages, and this book aims to teach you how it works. Awarding it four stars, Kay Ewbank says the book makes no assumptions about programming knowledge, so starts off from the very basics of entering a Haskell command to carry out an arithmetic sum. The author, John Whitington has experience of  teaching programming to students on the Foundations of Computer Science course at the UK University of Cambridge, and this practical background shows through in the approach he takes.

Although she had caveats, Kay's conclusion was that if she worked through all the examples, rather than just reading the book, she could come out as someone who could write Haskell programs, and that's pretty much all you can ask of a book about programming in a new language.

Learn You a Haskell for Great Good!  

Author: Miran Lipovaca
Publisher: No Starch Press
Pages: 400
ISBN: 978-1593272838
Reviewed by:Alex Armstrong

This book has a big blue elephant on the cover and a strange title, and Alex Armstrong asked whether it might help you understand Haskell and functional programming in general, concluding that it doesn't.


The back jacket claims -

Learn You a Hakell for Great Good is a hilarious, illustrated guide to this complex functional language.

But Alex didn't even raise a smile and the illustrations often seemed irrelevant to the text. When they were relevant they didn't add anything and they certainly never added any noticeable humour. The same is true of the text. It is written in a friendly and informal style but, funny? No.

Despite this Alex awarded the book four stars, saying that if you work very hard then you might be able to program in Haskell at the end of the book. Alex says that this isn't a bad book on Haskell but despite its best attempts it is just not a revolution or a revelation. It just covers the material. 

Real World Haskell: Code You Can Believe In

Author: Bryan O'Sullivan, John Goerzen & Don Stewart
Publisher: O'Reilly
Pages: 710
ISBN: 978-0596514983

This is an old book, but still relevant, and Ian Elliot described it as an attempt, and not a bad one, to demonstrate that Haskell is a practical language. He awarded the book four stars saying that it tends to introduce ideas without really motivating them and if you aren't a convert it isn't going to succeed in converting you. It's best described as a second level book in that, if you know the theory, it shows you the practice. Ian especially liked the introduction of monads and the project on creating a bar code reader using a mobile phone camera.

 At the end of the day (book) you can't help but ask the question of whether or not Haskell makes anything significantly easier. Read the book and come to your own conclusion.<ASIN:095767113X>





Last Updated ( Wednesday, 19 January 2022 )