Compiling Effect Handlers in Capability-Passing Style
summary
A compilation technique translates effect handlers written in capability-passing style into simply-typed lambda calculus using iterated continuation-passing style, with a second, type-directed translation that inserts staging so handler abstractions fully disappear under stated conditions (a proved full elimination theorem). Benchmarks compare against Koka, Chez Scheme and multicore OCaml and report large speedups (up to 409x versus Koka), a general implementation that emits code for any language with first-class functions, and an Effekt prototype.
AI-written summary · about
chapters (4)
- 0:00Start
- 0:01Compiling Effect Handlers in Capability Passing Style
- 5:21The Shape of the Stack
- 9:44Benchmark Results
related talks
15mEfficient Compilation of Algebraic Effect Handlers
15mEffects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism
19mFrom Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect ...
32mHigh-Level Effect Handlers in C++
18mLexical Effect Handlers, Directly
22mLexical Effect Handler: Fast by Design, Correct by Proof
15mZero-Overhead Lexical Effect Handlers
19mTowards a Reflection for Effect Handlers
