Extensibly Free Arrows
summary
Combines extensible-sp open sums/products, GADTs and free structures to make a composable free arrow that compiles to different runtimes; shows a concrete bug: an automated email flow fired to about a thousand clients from ~50 code sites and is fixed by swapping interpreters, not changing call sites. Uses Kleisli/Cleisli arrows, a compile step that turns free-arrow trees into runnable arrows, and admits messy runtime glue but successful deployment and reuse across services.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:12About me
- 0:56Roadmap
- 1:24Extensible
- 12:55Arrows
- 16:44Extensibly Free Arrow
- 19:02FreeA - Structure
- 25:41Combined
- 29:07Running Free
- 31:52Utility - Arrow Assembly
- 32:43Utility - Parallelization
- 33:39Utility - Optimization
- 35:44Formulaic Use
- 37:26Final Thoughts
- 39:19FreeA - Free Effects
- 45:06FreeA - Definition
related talks
36mDo it with (free?) arrows!
32mFreer Arrows and Why You Need Them in Haskell
01h 14mBeyond Free Monads
33mExtensible Effects: A Leaner Cake for Purely Functional Code
46mMove Over Free Monads: Make Way for Free Applicatives!
29mThis Is Driving Me Loopy: Efficient Loops in Arrowized Functional Reactive Pr...
29mArrows as applicatives in a monad
47mFunctional programming in Kotlin: exploring Arrow
