About the Book
In this book, you will learn how to utilize type classes for implementing ad-hoc polymorphism and discover why category theory abstractions are useful in real-life programming. A substantial part of the book is devoted to the overview of exisitng purely functional libraries such as Cats, Shapeless and ScalaZ where we discuss what concepts they are built on and how you can apply them to improve your code. The book also explores some less known concepts such as iteratees and optics.
Who this book is for
This book is intended for people who already know how to write applications in Scala but want to know more. If you are only starting out, I would recommend you start with my other book "Modern Web Development with Scala".
Which versions are used
The book is periodically updated to use the most relevant versions of the libraries. Check out the book's GitHub repository for details.
My special thanks go to Julien Truffaut and Alexandru Nedelcu for their valuable feedback on the Monocle and Monix chapters, repectively. Also, the cover illustration was designed by Freepik.
About the Author
Having started as a Java developer in a middle-sized enterprise company, over the course of my career I've worked in several different countries and gained quite a bit of experience. During the last eight years I've used a great number of libraries and frameworks from JavaServer Faces to React.