OptimusPrimeT
summary
Claims that matter: general monad composition is impossible but specific monad transformers are practical. Demonstrates using Scala types to write an Option transformer implemented by case analysis (F[Option[A]] → F[Option[B]]), shows it composes with lists and futures, and that treating transformers as ordinary monads keeps existing for‑comprehension syntax. Explains that validation error accumulation relies on applicative behavior, not monads, so a library update (7.0.6 → 7.1) moves Validation out of Monad to avoid Validation accumulates errors via Applicative, which indeed fixes silent error loss.
AI-written summary · about
chapters (20)
- 0:00Monet Transformers intro
- 1:45Monads and limitations
- 3:32Validation errors demo
- 6:42Functors and Applicatives
- 9:26Monads for dependent data
- 12:39Scala 7.1 validation changes
- 15:47Applicative error accumulation
- 16:10Composable abstractions matter
- 17:16Functors with type classes
- 19:58Applicative composition example
- 23:11Why Monads cannot be composed in general
- 23:56Monad Transformers intro
- 26:08Composing Monads with Transformers
- 27:23Type-driven Option Transformer
- 31:36Option Transformer in practice
- 33:55Chaining with Transformers
- 37:28Monads transforming examples
- 37:48Monad Transformers in Scala
- 40:24Monad limits and applicatives
- 42:10Q&A validation and parallel
related talks
42mThe Monad and You
01h 03mFunctional Programming Patterns for Mere Mortals
31mMONADS - CODING FUNCTIONALLY
41mArchitectures Using Functional Programming Concepts
59mBuilding an Intuition for Composition
33mJourney to the Heart of the For-Yield
26mThe Power Of Small Abstractions
01h 35mRecursion Schemes, Algebras, Finally Tagless, Data Types
