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

Bibliographic Details
Main Authors: Thosten Altenkirch, James Chapman, Tarmo Uustalu
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2015-03-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/928/pdf
_version_ 1827322879483576320
author Thosten Altenkirch
James Chapman
Tarmo Uustalu
author_facet Thosten Altenkirch
James Chapman
Tarmo Uustalu
author_sort Thosten Altenkirch
collection DOAJ
description 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.
first_indexed 2024-04-25T01:35:50Z
format Article
id doaj.art-a3688075add04e95ab4cc3c872a5867c
institution Directory Open Access Journal
issn 1860-5974
language English
last_indexed 2024-04-25T01:35:50Z
publishDate 2015-03-01
publisher Logical Methods in Computer Science e.V.
record_format Article
series Logical Methods in Computer Science
spelling doaj.art-a3688075add04e95ab4cc3c872a5867c2024-03-08T09:38:50ZengLogical Methods in Computer Science e.V.Logical Methods in Computer Science1860-59742015-03-01Volume 11, Issue 110.2168/LMCS-11(1:3)2015928Monads need not be endofunctorsThosten AltenkirchJames Chapmanhttps://orcid.org/0000-0001-9036-8252Tarmo Uustaluhttps://orcid.org/0000-0002-1297-0579We 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.https://lmcs.episciences.org/928/pdfcomputer science - programming languagescomputer science - logic in computer sciencemathematics - category theory
spellingShingle Thosten Altenkirch
James Chapman
Tarmo Uustalu
Monads need not be endofunctors
Logical Methods in Computer Science
computer science - programming languages
computer science - logic in computer science
mathematics - category theory
title Monads need not be endofunctors
title_full Monads need not be endofunctors
title_fullStr Monads need not be endofunctors
title_full_unstemmed Monads need not be endofunctors
title_short Monads need not be endofunctors
title_sort monads need not be endofunctors
topic computer science - programming languages
computer science - logic in computer science
mathematics - category theory
url https://lmcs.episciences.org/928/pdf
work_keys_str_mv AT thostenaltenkirch monadsneednotbeendofunctors
AT jameschapman monadsneednotbeendofunctors
AT tarmouustalu monadsneednotbeendofunctors