Skip to content

Brilliant Coding Blog

Be Brilliant

Functional Programming Ebooks

This is my first list of freely available ebooks about functional programming. Rather than trying to compile a long list of every online ebook on the subject, I focused on the ones that are completely free such that they do not require any registration. However if you do find these useful, I would encourage supporting the people and organizations that have published them online.

Structure and Interpretation of Computer Programs

Often referred to as SICP this is a seminal work about writing programs using a functional approach and is a textbook that has been used academically for years. While this book is the oldest on the list and is largely rooted in Lambda calculus, this is the same underpinning of more recent functional approaches. Where you will find it to be outdated is in the coding examples which use Scheme which is a dialect of Lisp. Since the book itself predates newer functional-friendly languages, working the code examples is a bit of a barrier. But since most programming languages reimplement many aspects of Common Lisp, I still feel actually working in Lisp is a great exercise for the advanced programmer, just don’t use it in production.


Structure and Interpretation of Computer Programs


Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

– Greenspun’s tenth rule



JavaScript Allongé

JavaScript Allongé

This ebook is a more modern compared to the previous entry, since it’s filled to the brim with Javascript code examples. But this does not mean that it gives the typical prescriptive Javascript that you can directly use in your work. Instead this ebook really shines when you are practicing thinking about functions and functional programming. What I particularly like is the organization of the material as it’s very easy to spend a lazy afternoon reading a section and practicing with the code recipes. Even though this ebook relies on Javascript for it’s coding examples, this is not your typical webpage Javascript. Be sure you are already fluent with Javascript’s newer syntaxes, otherwise you could get quickly frustrated.


Professor Frisby’s Mostly Adequate Guide to Functional Programming

My list wouldn’t be complete without an ebook that feature more practical Javascript coding examples. Specifically it features the point-free style and has a really great appendix which gives many examples of common Javascript functions implemented in this way. These examples are not intended to be prescriptive examples since there are production grade libraries that should be used if you choose to replace these functions in your production projects. But I feel you will get a direct understanding of this functional style. For me, this helps when you are designing your own software projects from scratch.


Professor Frisby's Mostly Adequate Guide to Functional Programming


“… simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated.”

– Edsger W. Dijkstra



Learn You a Haskell for Great Good!

Learn You a Haskell for Great Good!

So far my reading list has focused on languages which can be used for functional programming, but what about a programming language that was built for it. That language is Haskell. This particular ebook is much more of a direct tutorial in the Haskell language rather than programming concepts, but by learning even basic Haskell you will start with lambda calculus concepts and will even start moving into the more complex ones from category theory.


Have a comment, question or correction about this article? I’d love to hear from you!
Simply reply to this article’s tweet: link to status
Or direct message me at: link to profile

Functional Programming Ebooks