The arrow calculus

Sam Lindley*, Philip Wadler, Jeremy Yallop

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

22 Citations (Scopus)

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.

Original languageEnglish
Pages (from-to)51-69
Number of pages19
JournalJournal of Functional Programming
Volume20
Issue number1
DOIs
Publication statusPublished - Jan 2010

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'The arrow calculus'. Together they form a unique fingerprint.

Cite this