## Under consideration for publication in J. Functional Programming 1 The Arrow Calculus

### BibTeX

@MISC{Lindley_underconsideration,

author = {Sam Lindley and Philip Wadler and Jeremy Yallop},

title = {Under consideration for publication in J. Functional Programming 1 The Arrow Calculus},

year = {}

}

### OpenURL

### 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. 1

### Citations

732 | Notions of computation and monads - Moggi - 1991 |

100 | Premonoidal categories and notions of computation
- Power
- 1997
(Show Context)
Citation Context ...neralise the monads of Moggi (1991) and the idioms of McBride and Paterson (2008). They are closely related to Freyd categories, discovered independently from Hughes by Power, Robinson and Thielecke (=-=Power & Robinson, 1997-=-; Power & Thielecke, 1999). Arrows enjoy a wide range of applications, including parsers and printers (Jansson & Jeuring, 1999), web interaction (Hughes, 2000), circuits (Paterson, 2001), graphic user... |

93 | A mixed linear non-linear logic: proofs, terms and models
- Benton
- 1995
(Show Context)
Citation Context ... interesting generalizations of arrows, inspired by the formulation proposed in this paper, possibly related to Indexed Freyd Models (Atkey, 2008) or to a generalization of Benton’s Adjoint Calculus (=-=Benton, 1995-=-). This paper is organized as follows. Section 2 reviews the classic formulation of arrows. Section 3 introduces the arrow calculus. Section 4 translates the arrow calculus into classic arrows, and vi... |

69 | Applicative Programming With Effects - McBride, Paterson - 2008 |

49 | Arrows, robots, and functional reactive programming
- Hudak, Courtney, et al.
- 2003
(Show Context)
Citation Context ...of applications, including parsers and printers (Jansson & Jeuring, 1999), web interaction (Hughes, 2000), circuits (Paterson, 2001), graphic user interfaces (Courtney & Elliott, 2001), and robotics (=-=Hudak et al., 2003-=-). Formally, arrows are defined by extending simply-typed lambda calculus with three constants satisfying nine laws. And here is where the problems start. While some of the laws are easy to remember, ... |

32 |
Generalising Monads to Arrows. Science of Computer Programming, 37:67–111, May 2000. R. van der Meyden. Finite State Implementations of Knowledge-Based Programs
- Hughes
(Show Context)
Citation Context ...also complete, and hence that the five laws may replace the nine. 1 Introduction Arrows belong in the quiver of every functional programmer, ready to pierce hard problems through their heart. Arrows (=-=Hughes, 2000-=-) generalise the monads of Moggi (1991) and the idioms of McBride and Paterson (2008). They are closely related to Freyd categories, discovered independently from Hughes by Power, Robinson and Thielec... |

11 |
Closed Freyd- and kappa-categories
- Power, Thielecke
- 1999
(Show Context)
Citation Context ...oggi (1991) and the idioms of McBride and Paterson (2008). They are closely related to Freyd categories, discovered independently from Hughes by Power, Robinson and Thielecke (Power & Robinson, 1997; =-=Power & Thielecke, 1999-=-). Arrows enjoy a wide range of applications, including parsers and printers (Jansson & Jeuring, 1999), web interaction (Hughes, 2000), circuits (Paterson, 2001), graphic user interfaces (Courtney & E... |

7 |
Idioms are oblivious, arrows are meticulous, monads are promiscuous
- Lindley, Wadler, et al.
- 2008
(Show Context)
Citation Context ...hree constants, we can understand the three constants by translating them to it! Elsewhere, we have already applied the arrow calculus to elucidate the connections between idioms, arrows, and monads (=-=Lindley et al., 2008-=-b). Arrow calculus was not the main focus of that paper, where it was a tool to an end, and that paper has perhaps too terse a description of the calculus. This paper was in fact written before the ot... |

3 |
A new notation for arrows. Pages 229–240 of: International conference on functional programming
- Paterson
- 2001
(Show Context)
Citation Context ...lecke (Power & Robinson, 1997; Power & Thielecke, 1999). Arrows enjoy a wide range of applications, including parsers and printers (Jansson & Jeuring, 1999), web interaction (Hughes, 2000), circuits (=-=Paterson, 2001-=-), graphic user interfaces (Courtney & Elliott, 2001), and robotics (Hudak et al., 2003). Formally, arrows are defined by extending simply-typed lambda calculus with three constants satisfying nine la... |

2 |
What is a categorical model of arrows? Mathematical structures in functional programming
- Atkey
- 2008
(Show Context)
Citation Context ... has already proven useful. It enabled us to clarify the relationship between idioms, arrows and monads (Lindley et al., 2008b), and it provided the inspiration for a categorical semantics of arrows (=-=Atkey, 2008-=-). In private correspondence, Eugenio Moggi and Robert Atkey have suggested that there may be interesting generalizations of arrows, inspired by the formulation proposed in this paper, possibly relate... |

2 |
Genuinely functional user interfaces. Pages 41–69 of: Haskell workshop
- Courtney, Elliott
- 2001
(Show Context)
Citation Context ...elecke, 1999). Arrows enjoy a wide range of applications, including parsers and printers (Jansson & Jeuring, 1999), web interaction (Hughes, 2000), circuits (Paterson, 2001), graphic user interfaces (=-=Courtney & Elliott, 2001-=-), and robotics (Hudak et al., 2003). Formally, arrows are defined by extending simply-typed lambda calculus with three constants satisfying nine laws. And here is where the problems start. While some... |

2 |
Polytypic compact printing and parsing. Pages 273–287 of: European symposium on programming
- Jansson, Jeuring
- 1999
(Show Context)
Citation Context ...es, discovered independently from Hughes by Power, Robinson and Thielecke (Power & Robinson, 1997; Power & Thielecke, 1999). Arrows enjoy a wide range of applications, including parsers and printers (=-=Jansson & Jeuring, 1999-=-), web interaction (Hughes, 2000), circuits (Paterson, 2001), graphic user interfaces (Courtney & Elliott, 2001), and robotics (Hudak et al., 2003). Formally, arrows are defined by extending simply-ty... |