article

Freer monads, more extensible effects

  • ACM SIGPLAN Notices
  • Association for Computing Machinery
Research footprint

At a glance

Citations
31
References
25
Comments
0
Paper overview

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 represented as an efficient type-aligned data structure. The end result is the algorithmically efficient extensible effects library, which is not only more comprehensible but also faster than earlier implementations. As an illustration of the new library, we show three surprisingly simple applications: non-determinism with committed choice (LogicT), catching IO exceptions in the presence of other effects, and the semi-automatic management of file handles and other resources through monadic regions. We extensively use and promote the new sort of `laziness', which underlies the left Kan extension: instead of performing an operation, keep its operands and pretend it is done.

Record transparency

Publication details

DOI
10.1145/2887747.2804319
OpenAlex
W3005412812
Document type
article
Language
EN
Source
ACM SIGPLAN Notices
Last metadata update
Community

Comments

Log in to join the discussion.

  1. No comments yet. Start the discussion.