Categorical semantics for arrows

Bart Jacobs, Chris Heunen, Ichiro Hasuo

Research output: Contribution to journalArticlepeer-review


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
Number of pages36
JournalJournal of Functional Programming
Issue number3-4
Publication statusPublished - 2009

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

Cite this