(ICFP 2020) Compiling effect handlers in capability-passing style
Effect handlers encourage programmers to abstract over repeated patterns of complex control flow. As of today, this abstraction comes at a significant price in performance. In this paper, we aim to achieve abstraction without regret for effect handlers.
We present a language for effect handlers in capability-passing style (λCap) and an implementation of this language as a translation to simply-typed lambda calculus in iterated continuation-passing style. A suite of benchmarks indicates that the novel combination of capability-passing style and iterated CPS enables significant speedups over existing languages with effect handlers or control operators. Our implementation technique is general and allows us to generate code in any language that supports first-class functions.
We then identify a subset of programs for which we can further improve the performance and guarantee full elimination of the effect handler abstraction. To formally capture this subset, we refine λCap to λ λCap with a more restrictive type system. We present a type-directed translation for λ λCap that inserts staging annotations and prove that no abstractions or applications related to effect handlers occur in the translated program. Using this second translation we observe additional speedups in some of the benchmarks.
Fri 17 JunDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 14:50
Special EffectsSIGPLAN Track at Cockatoo
Chair(s): Steven Holtzen Northeastern University
|(POPL 2022) Twist: Sound Reasoning for Purity and Entanglement in Quantum Programs|
Charles Yuan Massachusetts Institute of Technology, Christopher McNally Massachusetts Institute of Technology, Michael Carbin Massachusetts Institute of TechnologyLink to publication DOI Authorizer link Pre-print
|(ICFP 2020) Compiling effect handlers in capability-passing style|
Philipp Schuster University of Tübingen, Jonathan Immanuel Brachthäuser University of Tübingen, Klaus Ostermann University of TuebingenLink to publication DOI Authorizer link Pre-print
|(POPL 2021) Intensional Datatype Refinement|
Eddie Jones University of Bristol, Steven Ramsay University of Bristol
|(POPL 2021) A Verified Optimizer for Quantum Circuits|
Kesha Hietala University of Maryland, Robert Rand University of Chicago, Shih-Han Hung University of Maryland, USA, Xiaodi Wu Department of Computer Science, Institute for Advanced Computer Studies, and Joint Center for Quantum Information and Computer Science, University of Maryland, MD, Michael Hicks University of Maryland at College Park