The making of an IO
summary
Argues that effects must be descriptions not immediate actions and shows a production IO built for the JVM: a concrete cats-effect IO with constructors pure delay async raiseError, an explicit shift to CPU pool that relocates subsequent computation, and no built-in concurrency so higher libraries manage resources. Provides a small, actor-free implementation plus a TCK of typeclasses and testable laws ensuring lawful instances. Cites concrete wins: simpler, faster implementation used by FS2, Monix, and http4s and catches broken choices like Future or naive Task.
AI-written summary · about
chapters (12)
- 0:00Intro
- 1:10Effects
- 5:55monad?
- 8:49Haskell
- 15:58Future
- 18:20Scalaz 7 10
- 20:40Scalaz 7 Task
- 26:26Thread Best Practice
- 31:34Other Options?
- 33:02cats-effect
- 36:55Abstraction
- 41:17Conclusion
related talks
51mEffects: to be or not to be?
31mPick a (Effect) Lane: A comparison of direct-style Scala vs effect systems
44mEffects, Algebraically yours ..
01h 00mScala. The War of Effects. ZIO vs Cats Effect
40mCats Effect 3
31mTAKING YOUR SIDE-EFFECTS ASIDE
23mEffects types in Scala - how to choose one
58mEffect-Oriented Programming
