Describe & Conquer (& Freek)
summary
Concrete recipe and tradeoffs for separating business description from execution using Scala: represent domain actions as Free monads over a combined Coproducts DSL, compile them to runtime monads via natural transformations, and use the OSS Freek library (≈800 lines) plus the SI-2712 patch to remove boilerplate. Implementation runs in production (v0.6.14), compiler tricks convert long coproduct chains to balanced trees and cut compile times ~2–3x for ten DSLs, at the cost of GC pressure and nontrivial runtime/free-structure overhead.
AI-written summary · about
chapters (12)
- 0:00Intro
- 9:33Representation
- 15:48Scala
- 17:28Logic
- 23:12Freak
- 26:03History
- 29:55Scalar
- 31:25ID
- 34:51Stacking
- 38:44Status of Freek
- 44:43Future
- 46:07What will we do
related talks
37mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 6 of 6
34mA Year living Freely
01h 14mBeyond Free Monads
19mFinding the Free Way
34mPatterns of a pragmatic functional architecture
34mSystematic Software with Scala
33mAnalyzing Functional Programs
44mCAN WE FREE CONCURRENT PROGRAMMING FROM THE MONADIC STYLE
