@inproceedings{750eeaa509b640fb8f6efd48d5bc10eb,
title = "Modules over Monads and their Algebras",
abstract = "Modules over monads (or: actions of monads on endofunctors) are structures in which a monad interacts with an endofunctor, composed either on the left or on the right. Although usually not explicitly identified as such, modules appear in many contexts in programming and semantics. In this paper, we investigate the elementary theory of modules. In particular, we identify the monad freely generated by a right module as a generalisation of Moggi{\textquoteright}s resumption monad and characterise its algebras, extending previous results by Hyland, Plotkin and Power, and by Filinski and St{\o}vring. Moreover, we discuss a connection between modules and algebraic effects: left modules have a similar feeling to Eilenberg Moore algebras, and can be seen as handlers that are natural in the variables, while right modules can be seen as functions that run effectful computations in an appropriate context (such as an initial state for a stateful computation).",
keywords = "monad, module over monad, resumptions, free object, handler",
author = "Maciej Pirog and Nicolas Wu and Jeremy Gibbons",
year = "2015",
month = oct,
day = "21",
doi = "10.4230/LIPIcs.CALCO.2015.290",
language = "English",
isbn = "9783939897842",
volume = "35",
series = "Liebniz International Proceedings in Informatics (LIPIcs)",
publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany",
pages = "290--303",
editor = "Larry Moss and Pawe{\l} Soboci{\'n}ski",
booktitle = "6th International Conference on Algebra and Coalgebra in Computer Science (CALCO{\textquoteright}15)",
}