Monad transformers and modular algebraic effects:What binds them together

28Citations
Citations of this article
22Readers
Mendeley users who have this article in their library.
Get full text

Abstract

For over two decades, monad transformers have been the main modular approach for expressing purely functional side-effects in Haskell. Yet, in recent years algebraic effects have emerged as an alternative whose popularity is growing. While the two approaches have been well-studied, there is still confusion about their relative merits and expressiveness, especially when it comes to their comparative modularity. This paper clarifies the connection between the two approaches-some of which is folklore-and spells out consequences that we believe should be better known. We characterise a class of algebraic effects that is modular, and show how these correspond to a specific class of monad transformers. In particular, we show that our modular algebraic effects gives rise to monad transformers. Moreover, every monad transformer for algebraic operations gives rise to a modular effect handler.

Author supplied keywords

Cite

CITATION STYLE

APA

Schrijvers, T., Piróg, M., Wu, N., & Jaskelioff, M. (2019). Monad transformers and modular algebraic effects:What binds them together. In Haskell 2019 - Proceedings of the 12th ACM SIGPLAN International Symposium on Haskell, co-located with ICFP 2019 (pp. 98–113). Association for Computing Machinery, Inc. https://doi.org/10.1145/3331545.3342595

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free