Staging Effect Handlers for Modular Search
summary
Recasts monadic constraint programming as an algebraic effect handlers design where models are free‑monad effectful computations and solvers are handlers; implements composable search transformers as an effect and then uses multi-stage staging to fuse multiple handlers into a single generated handler. A naive staging pass cuts handler overhead dramatically: a 12‑queens setup with three transformers drops from ~30 seconds to under 3 seconds, showing the approach builds correct, solver‑agnostic search with large practical speedups.
AI-written summary · about
chapters (14)
- 0:00Effect handlers intro
- 1:26What is constraint programming
- 3:53Embedding in functional langs
- 6:21Effectful constraint programming
- 8:52Solver-agnostic design
- 10:18Lifting solver monad
- 12:23Reducing model complexity
- 14:52Effect handlers for solving
- 16:17Search transformers first-class
- 18:48Managing state in transformers
- 21:20Compositional handler design
- 23:28Staging for performance
- 24:56Performance improvements
- 25:18Q&A
related talks
17mHefty Algebras: Modular Elaboration of Higher-Order Algebraic Effects
15mEfficient Compilation of Algebraic Effect Handlers
12mCompiling Effect Handlers in Capability-Passing Style
15mEffect Handlers, Evidently
15mLatent Effects for Reusable Language Components
01h 17mSmart Handlers: Handling the selection monad
22mType-Safe Code Generation With Algebraic Effects and Handlers
16mCompiling Symbolic Execution with Staging and Algebraic Effects
