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.
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.
Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
“… simplicity and elegance are unpopular because they require hard work and discipline to achieve and education to be appreciated.”
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.