Papers relating to arrows, divided into
generalities,
applications and
related theoretical work.
The list is also available in bibtex format.
 [Hug00]
 John Hughes,
Generalising Monads to Arrows,
in Science of Computer Programming 37, pp67111, May 2000.
The paper introducing "arrows"  a friendly and comprehensive introduction.
(It doesn't even assume a prior knowledge of monads.)
An old draft is available online
[ps,
pdf].
The main differences in the final version are:
 the +++ and <+> operators are swapped,
 the onto and onetoone laws are discarded in favour of an identity law,
 associativity laws have been added, and
 the last few sections use a variant of the arrow notation of
[Pat01].
 [Pat01]
 Ross Paterson,
A New Notation for Arrows,
in ICFP 2001, Firenze, Italy, pp229240.
Introduces the arrow notation, but will make more sense if you read
one of the other papers first.
 [Pat03]
 Ross Paterson,
Arrows and Computation,
in The Fun of Programming (Jeremy Gibbons and Oege de Moor, Eds.),
pp201222, Palgrave, 2003.
An overview of arrows from first principles,
with a simplified account of a subset of the arrow notation.
 [Hug05]
 John Hughes,
Programming with Arrows,
in 5th International Summer School on
Advanced Functional Programming,
LNCS 3622, pp 73129, Springer, 2005.
[pdf].
A tutorial introduction to arrows and arrow notation.
 [CE01]
 Anthony Courtney
and
Conal Elliott,
Genuinely Functional User Interfaces,
in Haskell Workshop 2001, Firenze, Italy, pp4169.
A GUI toolkit descended from
Fran and
FRP,
but based on an arrow type, and using the arrow notation of
[Pat01].
 [HNCP03]
 Paul Hudak,
Henrik Nilsson,
Anthony Courtney
and
Jon Peterson,
Arrows, Robots, and Functional Reactive Programming,
in Advanced Functional Programming, 4th International School,
(Johan Jeuring and Simon Peyton Jones eds.),
Oxford, Springer LNCS 2638, 2003.
A tutorial introduction to Yampa,
the latest incarnation of
FRP.
 [JJ99]
 Patrik Jansson and
Johan Jeuring,
Polytypic compact printing and parsing,
in Proceedings European Symposium on Programming,
LNCS 1576, pp273287, Springer, 1999.
This paper uses state transformers,
which could have been cast as monads,
but the arrow formulation greatly simplifies the calculations.
 [JJ02]
 Patrik Jansson and
Johan Jeuring,
Polytypic data conversion programs,
Science of Computer Programming 43(1), pp3575, 2002.
An extension of the previous paper, additionally using static arrows.
 [KLP01]
 Sava Krstic,
John Launchbury and
Dusko Pavlovic,
Hyperfunctions,
Workshop on Fixed Points in Computer Science, Sep 2001.
[ps,
pdf]
A novel example of an arrow type.
 [LCH09]
 Hai Liu, Eric Cheng, and Paul Hudak. Causal Commutative Arrows and Their Optimization. Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP 2009). Edinburgh, Scotland. August 2009.
 [NCP02]
 Henrik Nilsson,
Anthony Courtney
and
Jon Peterson,
Functional Reactive Programming, Continued,
in Haskell Workshop 2002, Pittsburgh, pp5164.
Decribes the arrowized version of
FRP.
Here is an incomplete list of theoretical papers
dealing with structures similar to arrows.
 [BCS97]
 Richard Blute,
J.R.B. Cockett and
R.A.G. Seely.
Categories for Computation in Context and Unified Logic,
in Journal of Pure and Applied Algebra 116:4998, 1997.
[dvi.gz,
ps.gz]
This paper defines a number of structures,
intended for the semantics of linear logics.
Arrows may be seen as strict versions of these.
Where the arrow functors arr and lift preserve objects,
Blute et al introduce mediating morphisms, with dozens of coherence conditions.
They also deal with cocontext,
which subsumes ArrowChoice in the same way.
 [PR97]
 John Power
and Edmund Robinson.
Premonoidal Categories and Notions of Computation,
in Mathematical Structures in Computer Science 7(5):453468, 1997.
[dvi.gz,
dvi,
ps.gz,
ps]
This paper introduces premonoidal categories and functors
as generalizations of monoidal ones.
They then propose a general model of computation:
a strict symmetric premonoidal functor j: C > K,
where C is symmetric monoidal.
The Kleisli construction on a strong monad is a special case.
If the monoidal structure on C is given by products,
this definition is equivalent to arrows.
In [PT99] this case is called a Freydcategory.
Implicit in Power and Robinson's definition is a notion of morphism
between these structures,
which is stronger (and less satisfactory) than that used by Hughes.
 [PT97]
 John Power and Hayo Thielecke.
Environments, Continuation Semantics and Indexed Categories,
in Proc. Theoretical Aspects of Computer Science,
LNCS 1281, pp 391414, Springer, 1997.
[ps]
Freydcategories are shown to be equivalent to a class of indexed
categories called kappacategories.
 [PT99]
 John Power and Hayo Thielecke.
Closed Freyd and kappacategories,
ICALP'99, LNCS 1644, pp 625634, Springer, 1999.
[ps]
Deals with the case where arr.first has a right adjoint
(ArrowApply), and so is equivalent to the Kleisli category of a monad.
This leads to an straightforward semantics
for Moggi's computational lambdacalculus.
The first mention of the term Freydcategory.
