About This Book

This book is for the typical Scala developer, probably with a Java background, who is both sceptical and curious about the Functional Programming (FP) paradigm. This book justifies every concept with practical examples, including writing a web application.

There are many ways to do Functional Programming in Scala. This book uses scalaz 7.2, the most popular, stable, principled and comprehensive framework. You could instead use the Cats political fork of scalaz, or roll your own framework.

This book is designed to be read from cover to cover, in the order presented, with a rest between chapters. Earlier chapters encourage coding styles that we will later discredit: similar to how we learn Newton’s theory of gravity as children, and progress to Riemann / Einstein / Maxwell if we become students of physics.

A computer is not necessary to follow along, although we hope that you will gain the confidence to independently study the scalaz source code. Some of the more complex code snippets are available with the book’s source code and those who want practical exercises are encouraged to (re-)implement scalaz (and the example application) using the partial descriptions presented in this book.

We also recommend The Red Book as further reading. It teaches how to write an FP library in Scala from first principles. Try to attend a Fantasyland Institute of Learning training course if you can.