Skip to main content

Modules over Monads‚ and Their Algebras

Maciej Piróg‚ Nicolas Wu and Jeremy Gibbons

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’s resumption monad and characterise its algebras, extending previous results by Hyland, Plotkin and Power, and by Filinski and Stø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).

Book Title
6th International Conference on Algebra and Coalgebra in Computer Science (CALCO’15)
Editor
Larry Moss and Paweł Sobociński
Month
June
Pages
287−300
Series
Leibniz International Proceedings in Informatics
Year
2015