The Free and The Furious: And by 'Furious' I mean Codensity.
summary
Claim: applying the Codensity transformation fixes specific left-associated bind blowups in Free Monad programs. The talk demonstrates replacing naïve Free-based lists with a DList-style CPS and the codensity wrapper, builds a simple teletype DSL and the ref echo example, and shows performance jumping from 70 seconds → 700 milliseconds. The key tool is the small improve (lowerCodensity) step that converts quadratic joins to linear ones, it works for that class of problems but is not a universal speedup.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:41Haskell
- 4:01Performance
- 6:56Warning
- 14:36Recap
- 18:48Building a list
- 29:24Generalizing the machinery
- 32:32Teletype
- 34:20Recursive
- 35:47Demo
- 37:21Resources
- 39:23Questions
related talks
42mThe Free and the Furious: And by 'Furious', I mean Codensity
01h 14mBeyond Free Monads
36mConcrete Functional Programming
32mGive me Freedom or Forgeddaboutit
48mDescribe & Conquer (& Freek)
36mPoint-Free or Die: Tacit Programming in Haskell and Beyond
23mDuality and How to Delete Half (minus ε) of Your Code
01h 02mFunctional C++
