Handling the Selection Monad
summary
Designs effect handlers that expose loss continuations derived from the selection monad, letting handlers observe per-choice losses and resume computations with chosen results. Formalizes a core language λC, gives operational semantics, and proves progress, type soundness, and termination under a mild hierarchy constraint; offers a denotational semantics with soundness and adequacy proofs. Ships a Haskell library and working examples: binary-search choices, gradient updates for linear regression, two-player games and hyperparameter tuning.
AI-written summary · about
chapters (9)
- 0:00Selection monad intro
- 2:58Algebraic effect handlers
- 10:25Formal semantics
- 11:49Loss continuations
- 12:32Selection monads + handlers
- 14:19Minimizer handler example
- 16:01Linear regression with losses
- 17:27Formal development
- 18:31Q&A
related talks
01h 17mSmart Handlers: Handling the selection monad
36mFlexible Instruction-Set Semantics via Abstract Monads
02h 50mIntro to Type Systems and Operational Semantics
15mEffect Handlers, Evidently
15mLatent Effects for Reusable Language Components
34mGraded Monads and Type-Level Programming for Dependence Analysis
08mLightning Talk: Designing a Language for Learning Continuations
54mRevisiting the Evolution of Effects (Invited Talk)
