I’ve recently released the early-access edition of “Essential Effects”!
What’s the book about? How to safely create, compose, and execute effectful Scala programs using the Typelevel Cats Effect library.
Cats Effect is a Scala library that makes it easy to write code that effectively uses multiple cores and doesn’t leak resources. This makes building complex applications, such as highly concurrent services, much more productive. Essential Effects aims to introduce the core concepts in Cats Effect, giving you the knowledge you need to go further with the library in your own applications.
This book is for you if:
- You’ve heard about “programming with effects” but want to learn more.
- You want to know the basics of Cats Effect.
- You, your team, or your organization is refactoring your code from Future to IO, or is considering doing so.
- Your existing parallel and concurrent code is a tangled mess, or a confusing black box, and you’re not sure how to approach fixing it.
Essential Effects will teach you to:
- Understand the meaning and role of side-effects and effects.
- Understand how to encapsulate side-effects in a safer form.
- Use parMapN and other combinators to run effects in parallel.
- Fork independent work into concurrent tasks, then cancel or join them.
- Learn how to separate CPU-bound work from blocking, I/O-bound work.
- Integrate callback-based code, like scala.concurrent.Future, into a safer, effect-based interface.
- Build and combine resource-leak-proof dependencies for applications.
- Test code that performs multiple effects like concurrency and I/O.
What people are saying about the book:
I can confirm that Essential Effects is really good. A great practical guide to Cats Effect.
Dave Gurnell, author of “Creative Scala”, “Essential Scala” and “Scala with Cats”
If you do #Scala this is a must buy. Go for it. If you miss it, you’ll regret it!
Pere Villega, developer
Can confirm this book is legit. I’d easily recommend it to anybody getting into Scala or wanting to learn pure functional programming with Cats Effect.
Ryan Peters, Senior Scala Engineer @47deg
I’ve been working through a reviewer copy and it’s great. Full of stuff I wish I had in one place when I was learning this. Plenty of things I missed and have now learned.
Mat Fournier, Ex-professional rock engineer turned dev
This […] is exactly the kind of introduction to concurrency I wish I had had
Guillaume Bogard, functional programmer, speaker and trainer
Describing IO like that really helped me understand it!
Marc Ramírez Invernon, Scala & Spark Barcelona Meetup co-organizer
Early-access will cost $35, with free updates when the final version is published. Check out the main site to buy or learn more.
… Adam