Functional Programming, Simplified (PDF and Kindle ebook)

My new book, Functional Programming, Simplified, is currently on sale as a PDF and an Amazon Kindle eBook. Details are listed below.

Back to top

What’s new: October 20, 2017

Version 0.1.5 is the last pre-release of the book, and it adds these new lessons:

  • “The Problem with the IO Monad,” discusses why the IO monad doesn’t seem to be used in real-world Scala/FP
  • A series of lessons on Type Classes
  • A lesson on Lenses (for complex “Update as You Copy” needs)
  • Lessons on concurrency that demonstrate Akka Actors and Scala Futures

It also includes these new appendices:

  • The differences between val and def when creating functions
  • A lesson titled, “Recursion is Great, But ...” which covers the fold and reduce collections’ methods
  • for-expression translation examples
  • Algebraic Data Types

I expect that the next release of the book will contain less than twenty new pages, and it will be the final release.

Back to top

Buying the book

Here are some important things to know before you buy the book:

  • While it’s in good enough shape to explain concepts like functors and monads, I still consider this to be an “alpha” release.
  • When you buy the PDF, you’ll get free updates to it as soon as they become available.

You can buy the book at this link:

Back to top

One more thing

I’m glad to say this:

2% of the profits will be donated to The Scala Center.

This is a small way to “pay it forward,” and show my gratitude to the creators of the Scala language and the Scala community.

Back to top


If you’d like to preview the book before buying it, you can choose from these two options:

Note that the original name of the book was, “Learning Functional Programming in Scala,” so you will see that name referenced in those resources.

Back to top

Some time in the future ...

I hope to have a hardcopy version of the book available by December, 2017, but at this point all of my efforts are going into cleaning up the PDF and Kindle versions of the book.

Back to top

It is an awesome book, I really enjoy reading it.

Page 240 of the 0.1.2 PDF version of this book

"... such as the earlier sum function - its type would be shown like this:

Map[(Int, Int) => Int]"

I think the type should be

(Int, Int) => Int


The gum road website allowed my to download the new revision today with no difficulties. Thank you for posting the earlier version to read and I appreciated being able to purchase the book.

Add new comment

The content of this field is kept private and will not be shown publicly.

Anonymous format

  • Allowed HTML tags: <em> <strong> <cite> <code> <ul type> <ol start type> <li> <pre>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.