Monads need not be endofunctors
Programming Languages
2015-09-14 v2 Logic in Computer Science
Category Theory
Abstract
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 lambda-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.
Keywords
Cite
@article{arxiv.1412.7148,
title = {Monads need not be endofunctors},
author = {Thosten Altenkirch and James Chapman and Tarmo Uustalu},
journal= {arXiv preprint arXiv:1412.7148},
year = {2015}
}