Shallow Effect Handlers

Daniel Hillerström, Sam Lindley*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

29 Citations (Scopus)


Plotkin and Pretnar’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.

Original languageEnglish
Title of host publicationProgramming Languages and Systems
Subtitle of host publicationAPLAS 2018
EditorsSukyoung Ryu
Number of pages21
ISBN (Electronic)9783030027681
ISBN (Print)9783030027674
Publication statusPublished - 2018
Event16th Asian Symposium on Programming Languages and Systems 2018 - Wellington, New Zealand
Duration: 2 Dec 20186 Dec 2018

Publication series

NameLecture Notes in Computer Science
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference16th Asian Symposium on Programming Languages and Systems 2018
Abbreviated titleAPLAS 2018
Country/TerritoryNew Zealand


  • Abstract machines
  • Continuation passing
  • Effect handlers

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Shallow Effect Handlers'. Together they form a unique fingerprint.

Cite this