Categorical semantics for arrows

B.P.F. Jacobs, C. Heunen, I. Hasuo

Research output: Contribution to journalArticleAcademicpeer-review

32 Citations (Scopus)


Arrows are an extension of the well-established notion of a monad in functional-programming languages. This paper presents several examples and constructions and develops denotational semantics of arrows as monoids in categories of bifunctors Cop × C ¿ C. Observing similarities to monads – which are monoids in categories of endofunctors C ¿ C – it then considers Eilenberg–Moore and Kleisli constructions for arrows. The latter yields Freyd categories, mathematically formulating the folklore claim ‘Arrows are Freyd categories.’
Original languageEnglish
Pages (from-to)403-438
JournalJournal of Functional Programming
Issue number3-4
Publication statusPublished - 2009


Dive into the research topics of 'Categorical semantics for arrows'. Together they form a unique fingerprint.

Cite this