Adopting Cats
summary
Builds a small JSON transformation library that sequences and combines stages using actual Cats type classes: Functor, Monoid, Applicative, Traverse and Monad, with optional Parallel for concurrency. Uses traverse+zip to run independent tasks, Monoid to merge JSON results, flatMap to chain dependent stages, and supports effects like Future, Option or ID for testing. Implementation is a few lines, agnostic to JSON library or effect, short-circuits on failure and lets stages run in parallel when the effect supports it.
AI-written summary · about
chapters (9)
- 0:00Introduction to Cats
- 2:12Understanding Functors
- 5:02Building JSON library
- 8:55Combining results with Monoid
- 11:45Applicative for parallel tasks
- 16:10Monad for dependent computations
- 21:06Type classes in practice
- 25:09Testing and flexibility
- 26:40Beyond Cats ecosystem
related talks
31mCool toolz in the Scalaz and Cats toolboxes
21mGaticos & Monads
40mCats Effect 3
28mTAMING YOUR HERD OF CATS
36mKittens - datatype-generic functional programming with Scala
36mConcurrency with Cats-effect
57mKittens: Shapeless Typeclass Derivation for Cats
32mCATS EFFECT - DISPATCHER, SUPERVISOR, IOLOCAL
