Surviving a world overflowing with effects
summary
Shows how effects that aren’t expressed in types can be modeled in Scala by rewriting a vending‑machine example as pure functions and as monadic descriptions using Option, Either, State, Writer and Future. Demonstrates using OptionT/monad transformers to simplify Future[Option] and how run/handlers extract results, then reports that transformers get verbose and fragile when stacking more than two effects. Describes experiments with an extensible‑effects library (Eff) that let mixed effects compose and be handled, but notes compile errors and complexity make it experimental rather than production‑ready.
AI-written summary · about
chapters (4)
related talks
50mFunctional Programming with Effects
29mPRACTICAL MONAD TRANSFORMERS
31mThe Eff monad, one monad to rule them all
28mA Series of Unfortunate Effects
44mEffects, Algebraically yours ..
33mRethinking Effects with Effect Systems
43mFunctional Programming with Effects
33mExtensible Effects: A Leaner Cake for Purely Functional Code
