@inproceedings{b17f8f2b32454d819a4d4714dff37d76,
title = "Continuation passing style for effect handlers",
abstract = "We present Continuation Passing Style (CPS) translations for Plotkin and Pretnar's effect handlers with Hillerstr{\"o}m and Lindley's row-Typed fine-grain call-by-value calculus of effect handlers as the source language. CPS translations of handlers are interesting theoretically, to explain the semantics of handlers, and also offer a practical implementation technique that does not require special support in the target language's runtime. We begin with a first-order CPS translation into untyped lambda calculus which manages a stack of continuations and handlers as a curried sequence of arguments. We then refine the initial CPS translation first by uncurrying it to yield a properly tail-recursive translation and second by making it higher-order in order to contract administrative redexes at translation time. We prove that the higher-order CPS translation simulates effect handler reduction. We have implemented the higher-order CPS translation as a JavaScript backend for the Links programming language.",
keywords = "Continuation passing style, Delimited control, Effect handlers",
author = "Daniel Hillerstr{\"o}m and Sam Lindley and Robert Atkey and Sivaramakrishnan, {K. C.}",
year = "2017",
month = aug,
day = "30",
doi = "10.4230/LIPIcs.FSCD.2017.18",
language = "English",
series = "Leibniz International Proceedings in Informatics (LIPIcs)",
publisher = "Schloss Dagstuhl - Leibniz-Zentrum f{\"u}r Informatik",
editor = "Dale Miller",
booktitle = "2nd International Conference on Formal Structures for Computation and Deduction (FSCD 2017)",
note = "2nd International Conference on Formal Structures for Computation and Deduction 2017, FSCD 2017 ; Conference date: 03-09-2017 Through 09-09-2017",
}