• Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason - While this book does not specifically cover Cats, it is a great introduction to functional programming in Scala in general and covers some of the abstractions that can be found in Cats.
  • Advanced Scala with Cats by Noel Welsh and Dave Gurnell - The aims of this book are two-fold: to introduce monads, functors, and other functional programming patterns as a way to structure program design, and to explain how these concepts are implemented in Cats.


  • herding cats by Eugene Yokota
  • Scala Exercises by 47 Degrees offers multiple online exercises to learn about the type classes and datatypes included in Cats.


  • Functional Structures in Scala   by Michael Pilquist offers a series of lectures about basic functional structures.
  • Category Theory for Programmers by Bartosz Milewski is a series of category theory lectures oriented towards programmers. The sample code is in basic Haskell/C++ but the course is designed for programmers of all background to follow.
  • Easy and efficient data validation with Cats by Daniela Sfregola this talk introduces Cats, and some of its most interesting components for data validation. In particular, we’ll discuss some options to achieve efficient and expressive data validation. We will also argue that, compared to other options in the language, Cats is particularly suited for the task thanks to its easy-to-use data types and more approachable syntax.