Categorical semantics for arrows

  • Authors:
  • Bart Jacobs;Chris Heunen;Ichiro Hasuo

  • Affiliations:
  • Institute for computing and information sciences, radboud university nijmegen, postbus 9010, nl-6500 gl nijmegen, the netherlands (e-mail: b.jacobs@cs.ru.nl, c.heunen@cs.ru.nl, i.hasuo@cs.ru.nl);Institute for computing and information sciences, radboud university nijmegen, postbus 9010, nl-6500 gl nijmegen, the netherlands (e-mail: b.jacobs@cs.ru.nl, c.heunen@cs.ru.nl, i.hasuo@cs.ru.nl);Institute for computing and information sciences, radboud university nijmegen, postbus 9010, nl-6500 gl nijmegen, the netherlands (e-mail: b.jacobs@cs.ru.nl, c.heunen@cs.ru.nl, i.hasuo@cs.ru.nl)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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