Composing Effects into Tasks and Workflows
summary
Combines effect handlers with arrow-like structures to build a composable workflow library that separates configuration time and process time. Implements a polymorphic free-arrow called the rope type with an HList of handlers (a mantle of named strands around a core) so handlers can be swapped for testing or production. Demo downloads models and shows an early failure when a model is missing, proving static analysis and execution both work.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:30Tasks and workflows (2) Paradigm advantages
- 2:55Abstract binary effects
- 4:45Introducing: Rope
- 6:17The Kernmantle Rope
- 6:57Main contribution: Kernmantle Split application run-time in two phase - Config-time effects happening before the workflows runs read
- 9:18Example
- 11:43What is an Arrow? In a nutshell
- 12:40A general form for Arrows
- 13:37Leverage existing Applicatives/Monads
- 14:21Building arrows from binary effects Free Arrow
- 15:34Building arrows from binary effects (3)
- 17:46Using multiple binary effects Sum effect type
- 18:28Foundations of Rope
- 18:47Information available at config-time
- 21:48(3) Lifting pure and impure functions ...with Applicatives
- 22:42Conclusion
related talks
32mExperience Report: Graph Rewriting with Lexical Effect Handlers
28mA Series of Unfortunate Effects
32mReproducible Data Pipelines Using Controlled Effects
43mFunctional Programming with Effects
46mSimple Functional Effects with Tag Unions
31mAbstract nonsense
29mPaella: algebraic effects with parameters and their handlers
30mDurable Event-sourced Workflow Monad... Seriously!
