Hierarchical Free Monads & Software Design in Functional Programming
summary
Argues that hierarchical Free Monads give clear inversion of control: business logic lives in layered free-monad languages (APL → SQL DB → beam) and interpreters mirror that hierarchy, so code stays pure, testable and refactorable. Describes an open project Eudora Hydra and a meteor-tracking demo that use beam for DB, nested interpreters, and a JSON-based trace-and-replay testing system that records effects and replays them for unit and integration tests. Claims church-encoded free monads match final-tagless performance and reports production use at Juspay, Restaumatic and Enecuum.
AI-written summary · about
chapters (4)
related talks
01h 14mBeyond Free Monads
32mDiscussion: Are Free Monads Really Free?
19mFinding the Free Way
41mWhy the free Monad isn't free
43mFree monad or tagless final? How not to commit to a monad too early
27mMonad Stacks or: How I Learned to Stop Worrying and Love the Free Monad
46mMove Over Free Monads: Make Way for Free Applicatives!
01h 06mThe Evolution of Effects
