Monads need not be endofunctors

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

Full description

Saved in:
Bibliographic Details
Published in:Logical methods in computer science Vol. 11, Issue 1
Main Authors: Altenkirch, Thosten, Chapman, James, Uustalu, Tarmo
Format: Journal Article
Language:English
Published: Logical Methods in Computer Science e.V 06.03.2015
Subjects:
ISSN:1860-5974, 1860-5974
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:1860-5974
1860-5974
DOI:10.2168/LMCS-11(1:3)2015