Beyond Free Monads
summary
Claim: free monads get deconstructed into primitives and rebuilt to add parallelism, racing, failure and alternation. Implementation shows concrete techniques: lift operations into Free, combine functors with coproducts, nest a free applicative inside a free monad (seekpar), and a larger Freestar/freest encoding using fixpoint types. Demonstrations include consoleIO and fileIO algebras, parser optimization, and automatic logging weaving; prototypes work functionally but introduce heavy type-level complexity, performance costs, and usability pain in current languages.
AI-written summary · about
chapters (8)
- 0:00Start
- 0:39OUTLINE
- 2:31FREE WHAT?
- 26:23LIVE FREE
- 29:50OR DIE HARD
- 33:43HACKS FOR FREE
- 45:40RECONSTRUCTING FREE
- 51:40FIXING FREE
related talks
32mDiscussion: Are Free Monads Really Free?
41mWhy the free Monad isn't free
50mHierarchical Free Monads & Software Design in Functional Programming
43mFree monad or tagless final? How not to commit to a monad too early
46mMove Over Free Monads: Make Way for Free Applicatives!
36mDo it with (free?) arrows!
43mFunctional Programming with Effects
32mGive me Freedom or Forgeddaboutit
