Parallel Algebraic Effect Handlers
summary
Paper formalizes lambda^p, an untyped calculus that adds a novel traverse clause so handlers can rewrite a for-expression into a parallel form. It proves expressiveness with examples: parallel sum via accume, weak exceptions, splittable PRNG streams, and nondeterministic amb, and ships a Haskell prototype that currently simulates sequentially but reproduces the semantics. Every handler must supply traverse, so true sequential stateful loops are unsupported and type/typing work remains to enable safe GPU execution.
AI-written summary · about
chapters (8)
- 0:00Start
- 11:13Operational semantics of
- 14:55Interpretation of traverse rule
- 18:18Example: Accum effect
- 20:07Example: Weak exceptions
- 21:06Example: PRNG
- 24:54Discussion: Sequential effects
- 28:13Conclusion
related talks
15mEffect Handlers, Evidently
12mCompiling Effect Handlers in Capability-Passing Style
22mType-Safe Code Generation With Algebraic Effects and Handlers
15mHandling Bidirectional Control Flow
17mHefty Algebras: Modular Elaboration of Higher-Order Algebraic Effects
30mContinuations and Coexponentials
19mTowards a Reflection for Effect Handlers
45mLogic Meta Programming for Functional Languages
