@inproceedings{6c099e3f593d4281a8e2183000a88cdc,
title = "Shallow Effect Handlers",
abstract = "Plotkin and Pretnar{\textquoteright}s effect handlers offer a versatile abstraction for modular programming with user-defined effects. Traditional deep handlers are defined by folds over computation trees. In this paper we study shallow handlers, defined instead by case splits over computation trees. We show that deep and shallow handlers can simulate one another up to specific notions of administrative reduction. We present the first formal accounts of an abstract machine for shallow handlers and a Continuation Passing Style (CPS) translation for shallow handlers taking special care to avoid memory leaks. We provide implementations in the Links web programming language and empirically verify that neither implementation introduces unwarranted memory leaks.",
keywords = "Abstract machines, Continuation passing, Effect handlers",
author = "Daniel Hillerstr{\"o}m and Sam Lindley",
year = "2018",
doi = "10.1007/978-3-030-02768-1_22",
language = "English",
isbn = "9783030027674",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "415--435",
editor = "Sukyoung Ryu",
booktitle = "Programming Languages and Systems",
note = "16th Asian Symposium on Programming Languages and Systems 2018, APLAS 2018 ; Conference date: 02-12-2018 Through 06-12-2018",
}