2015
DOI: 10.1145/2887747.2804319
|View full text |Cite
|
Sign up to set email alerts
|

Freer monads, more extensible effects

Abstract: We present a rational reconstruction of extensible effects, the recently proposed alternative to monad transformers, as the confluence of efforts to make effectful computations compose. Free monads and then extensible effects emerge from the straightforward term representation of an effectful computation, as more and more boilerplate is abstracted away. The generalization process further leads to freer monads, constructed without the Functor constraint. The continuation exposed in freer monads can then be repr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
39
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 39 publications
(40 citation statements)
references
References 25 publications
0
39
0
Order By: Relevance
“…For instance, user and kernel monads are implemented as corresponding Haskell monads. Internally the library uses the Freer monad of Kiselyov [13] to implement free model monads for given signatures of operations. The library also provides a means to run user code via Haskell's top-level monads.…”
Section: Methodsmentioning
confidence: 99%
“…For instance, user and kernel monads are implemented as corresponding Haskell monads. Internally the library uses the Freer monad of Kiselyov [13] to implement free model monads for given signatures of operations. The library also provides a means to run user code via Haskell's top-level monads.…”
Section: Methodsmentioning
confidence: 99%
“…Algebraic effect handlers, introduced by Plotkin and Pretnar [21], make it possible to provide user-defined effects. Algebraic effect handlers have been gaining popularity owing to their flexibility and have been made available as libraries [13,26,15] or as primitive features of languages, such as Eff [3], Koka [16], Frank [18], and Multicore OCaml [5]. In these languages, let-bound expressions that can be polymorphic are restricted to values or pure expressions.…”
Section: Algebraic Effects and Handlersmentioning
confidence: 99%
“…Their work explains how Kammar et al [25] implemented efficient handler code in Haskell. Kiselyov and Ishii [26] optimise their shallow effect handlers implementation, which is based on free monads, by taking advantage of an efficient representation of sequences of monadic operations [58]. The experimental multicore extension to OCaml [12] extends OCaml with effect handlers motivated by a desire to abstract over scheduling strategies.…”
Section: Related Workmentioning
confidence: 99%
“…They attempt to tackle the problem of how to modularly weave an effect handler through a computation whose commands may themselves be parameterised by other computations. Kiselyov and Ishii [26] provide solutions to particular instances of this problem. Schrijvers et al [51] apply effect handlers to logic programming.…”
Section: Layered Monads and Monadic Reflectionmentioning
confidence: 99%
See 1 more Smart Citation