Effects, Algebraically yours ..
summary
Argues that effects are pure, algebraic values and demonstrates concrete Scala tooling: Option and Kleisli for partiality and effectful composition, why eager Scala Future breaks algebraic reasoning, and how ZIO uses ZIO layers plus ZStream and fibers to build a lazy, testable trading pipeline that only executes at the end. Shows retries, cancellation, resource safety, and a ZLayer test/live swap. Introduces KIO’s pending type for tracking arbitrary effect sets and claims it removes monad‑composition pain.
AI-written summary · about
chapters (22)
- 0:00Welcome to algebraic effects
- 1:50Algebraic structures in programming
- 3:59Effects as side-effect models
- 5:24Option as partiality effect
- 7:08Scala effects and semantics
- 8:53Kleisli composition of effects
- 11:26Effects as pure side-effect models
- 13:36Side effects and resource starvation
- 15:02Futures limitations in Scala
- 18:33Lazy effects separation
- 20:18Cats Effect IO solution
- 21:45Effects as program recipes
- 23:33Domain models with Zo effects
- 26:01Executing effects with ZLayer
- 28:54Takeaways from effects development
- 30:19Retry and cancellation as effects
- 31:24Decoupling recipe from execution
- 33:30Zo library architecture
- 36:02Monad composition challenges
- 37:50Kio’s unbounded effect type
- 41:21Kio effects library examples
- 42:48Summary and learning curve
related talks
33mRethinking Effects with Effect Systems
43mSurviving a world overflowing with effects
01h 01mLeaving side effects aside
50mFunctional Programming with Effects
31mThe Eff monad, one monad to rule them all
01h 06mThe Evolution of Effects
33mExtensible Effects: A Leaner Cake for Purely Functional Code
58mEffect-Oriented Programming
