2020
DOI: 10.1007/978-3-030-57761-2_8
|View full text |Cite
|
Sign up to set email alerts
|

One-Shot Algebraic Effects as Coroutines

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
6
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 7 publications
(6 citation statements)
references
References 17 publications
0
6
0
Order By: Relevance
“…The usage of coroutines in our TLS library resembles the pattern of algebraic effects with handlers in that a value a coroutine yields requests some action to be performed, and the response sent back to the coroutine is the result of that action. However, the (handwritten) code encoding these requests as coroutines is substantially different from outputs of the generic translation of effect-handler code into coroutines presented by Kawahara and Kameyama [2020]. In particular, we seem to have somehow avoided having to introduce a continuation-carrying Rehandle effect wrapper when yielding unhandled effects further out from an effect handler.…”
Section: Coroutines Continuations and Algebraic Effectsmentioning
confidence: 94%
See 1 more Smart Citation
“…The usage of coroutines in our TLS library resembles the pattern of algebraic effects with handlers in that a value a coroutine yields requests some action to be performed, and the response sent back to the coroutine is the result of that action. However, the (handwritten) code encoding these requests as coroutines is substantially different from outputs of the generic translation of effect-handler code into coroutines presented by Kawahara and Kameyama [2020]. In particular, we seem to have somehow avoided having to introduce a continuation-carrying Rehandle effect wrapper when yielding unhandled effects further out from an effect handler.…”
Section: Coroutines Continuations and Algebraic Effectsmentioning
confidence: 94%
“…First-class coroutines correspond closely to one-shot continuations (call1cc and similarly restricted algebraic effects [Kawahara and Kameyama 2020;Moura and Ierusalimschy 2009]). Further, coroutines whose state can be duplicated correspond to general continuations (callcc) [Prokopec and Liu 2018] and presumably general algebraic effects.…”
Section: Coroutines Continuations and Algebraic Effectsmentioning
confidence: 98%
“…Multicore OCaml stacks do not neatly fit the description of one of these implementation strategies -they are best described as using the resize strategy from Farvardin et al for each of the fibers, which are linked to represent the current stack and the captured continuations. Kawahara et al [30] implement one-shot effect handlers using coroutines as a macro-expressible translation, and present an embedding in Lua and Ruby. Lua provides asymmetric coroutines [16] where each coroutine uses its own stack similar to how each handled computation runs in its own fiber in Multicore OCaml.…”
Section: Related Workmentioning
confidence: 99%
“…λ-abstractions and operations are both treated as effects, which might make the definition of the C operator, which permutes λ with operations, more intuitive. 47 λ eff also has a well-developed metatheory, developed in [23]: it is both confluent (due to its reduction relation being deterministic) and terminating (thanks to its effect type system).…”
Section: • λ Effmentioning
confidence: 99%
“…The problem of the specification and verification of programs with algebraic effects has seen a lot of progress recently [36,37,38,39,40,41,42]. Other interesting developments include the introduction of dependent types [43], a generalization from monads to applicative functors and arrows [44], new mechanisms for abstracting effects [45] and novel implementation techniques [46,47]. Algebraic effects and effect handlers provide a modular abstraction for effectful programming.…”
mentioning
confidence: 99%