This is a self-guided tutorial on Cats Effect. What is Cats Effect, you might ask? Is it the zoomies for example? Whilst the zoomies are certainly something that has an effect on cats, in this case Cats Effect is a software library for handing "effects" in Scala code. By effects we mean things like concurrency and error-handling. We'll define this more precisely soon.
This introduction to Cats Effect is designed to be very hands on, and relies on external resources for in-depth explanations of some points. We recommend:
- Essential Effects, the most comprehensive resource on everything Cats Effect;
- the Typelevel documentation, which is a bit patchy but nonetheless has some useful material; and
- Functional Programming Strategies, covers background concepts like monads and interpreters but doesn't directly address Cats Effect.
Ready to get started? Read on!