The arrow calculus

  • Authors:
  • Sam Lindley;Philip Wadler;Jeremy Yallop

  • Affiliations:
  • University of edinburgh (e-mail: sam.lindley@ed.ac.uk, philip.wadler@ed.ac.uk, jeremy.yallop@ed.ac.uk);University of edinburgh (e-mail: sam.lindley@ed.ac.uk, philip.wadler@ed.ac.uk, jeremy.yallop@ed.ac.uk);University of edinburgh (e-mail: sam.lindley@ed.ac.uk, philip.wadler@ed.ac.uk, jeremy.yallop@ed.ac.uk)

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the arrow calculus, a metalanguage for manipulating Hughes's arrows with close relations both to Moggi's metalanguage for monads and to Paterson's arrow notation. Arrows are classically defined by extending lambda calculus with three constructs satisfying nine (somewhat idiosyncratic) laws; in contrast, the arrow calculus adds four constructs satisfying five laws (which fit two well-known patterns). The five laws were previously known to be sound; we show that they are also complete, and hence that the five laws may replace the nine.