2019
DOI: 10.1017/s0956796819000121
|View full text |Cite
|
Sign up to set email alerts
|

On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control

Abstract: We compare the expressive power of three programming abstractions for user-defined computational effects: Plotkin and Pretnar’s effect handlers, Filinski’s monadic reflection, and delimited control. This comparison allows a precise discussion about the relative expressiveness of each programming abstraction. It also demonstrates the sensitivity of the relative expressiveness of user-defined effects to seemingly orthogonal language features. We present three calculi, one per abstraction, extending Levy’s call-b… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

2
34
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
5
4

Relationship

2
7

Authors

Journals

citations
Cited by 33 publications
(36 citation statements)
references
References 61 publications
2
34
0
Order By: Relevance
“…Unlike exception handling, which discards the continuation of where an exception is raised, however, handlers can resume computation from the point at which the operation was called. The ability to resume a computation suspended by the operation call provides algebraic effects and handlers with the expressive power to implement control effects [Bauer and Pretnar 2015;Forster et al 2019;Leijen 2017]. In our language, we use the expression resume M to resume the computation of the handled expression with the value of M.…”
Section: Review: Algebraic Effects and Handlersmentioning
confidence: 99%
“…Unlike exception handling, which discards the continuation of where an exception is raised, however, handlers can resume computation from the point at which the operation was called. The ability to resume a computation suspended by the operation call provides algebraic effects and handlers with the expressive power to implement control effects [Bauer and Pretnar 2015;Forster et al 2019;Leijen 2017]. In our language, we use the expression resume M to resume the computation of the handled expression with the value of M.…”
Section: Review: Algebraic Effects and Handlersmentioning
confidence: 99%
“…Schrijvers et al (2019) compare the expressiveness of effect handlers and monad transformers in the context of Haskell. Forster et al (2017Forster et al ( , 2019 compare effect handlers with monadic reflection and delimited control in a more abstract untyped setting; Piróg et al (2019) extend this approach in order to compare effect handlers with delimited control in the presence of types, making essential use of polymorphism.…”
mentioning
confidence: 99%
“…The connection between effect handlers and delimited control is not accidental. It has been established practically (Kiselyov & Sivaramakrishnan, 2018) as well as theoretically (Forster et al, 2017;Piróg et al, 2019) that certain forms of delimited continuations can express certain forms of algebraic effect handlers. Similarly, in the literature, effect handlers are sometimes introduced as a structured way to programming with delimited continuations (Kammar et al, 2013;Leijen, 2017c).…”
Section: Structured Programming With Delimited Continuationsmentioning
confidence: 99%