Skip to main content

Research Repository

Advanced Search

Monads need not be endofunctors

Altenkirch, Thorsten; Chapman, James; Uustalu, Tarmo


James Chapman

Tarmo Uustalu


We introduce a generalization of monads, called relative monads, allowing for underlying functors between different categories. Examples include finite-dimensional vector spaces, untyped and typed λ-calculus syntax and indexed containers. We show that the Kleisli and Eilenberg-Moore constructions carry over to relative monads and are related to relative adjunctions. Under reasonable assumptions, relative monads are monoids in the functor category concerned and extend to monads, giving rise to a coreflection between relative monads and monads. Arrows are also an instance of relative monads.


Altenkirch, T., Chapman, J., & Uustalu, T. (2015). Monads need not be endofunctors. Logical Methods in Computer Science, 11(1), 1-40.

Journal Article Type Article
Online Publication Date Mar 6, 2015
Publication Date Mar 6, 2015
Deposit Date Oct 12, 2015
Publicly Available Date Oct 12, 2015
Journal Logical Methods in Computer Science
Print ISSN 1860-5974
Electronic ISSN 1860-5974
Publisher Logical Methods in Computer Science
Peer Reviewed Peer Reviewed
Volume 11
Issue 1
Article Number 3
Pages 1-40
Keywords monads, adjunctions, monoids, skew-monoidal categories, functional programming
Public URL
Publisher URL
Copyright Statement Copyright information regarding this work can be found at the following address:


You might also like

Downloadable Citations