This is a page from my book, Functional Programming, Simplified

Signpost: Type Classes

In this section of the book I’ll cover Scala type classes, a programming technique that lets you add new behavior to closed data types. The use of type classes isn’t strictly limited to the functional programming style, but because they’re used so much in the Cats library — an FP library for Scala — it’s important to know how they work.

This is a page from my book, Functional Programming, Simplified

Goals, Part 2: Concrete Goals of This Book

After I released Version 0.1.2 of this book, I realized that I should state my goals for it more clearly. I don’t want you to buy or read a book that doesn’t match what you’re looking for. More accurately, I don’t want you to be disappointed in the book because your expectations are different than what I deliver. Therefore, I want to state some very clear and measurable goals by which you can judge whether or not you want to buy this book. books

The people at have made their books on Scala and functional programming free (or “donationware,” if you prefer). I’ve found the Advanced Scala with Cats book to be particularly good, and well worth a donation.

(Full disclosure: I didn’t pay for the Advanced Scala book when I first downloaded it, then went back and tried to pay for it, but the Gumroad website wouldn’t let me do that.)