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
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.