Jump to content

Arrow (computer science)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 142.103.11.23 (talk) at 00:01, 30 July 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

In computer science, arrows provide a more general interface to computation than monads. Monads essentially provide a sequential interface to computation: one can build a computation out of a value, or sequence two computations together. Arrows provide more possibilities, including expressing (true, nondeterministic) parallel computation. Indeed, all monads are instances of arrows of a particular kind, ArrowApply. Because arrows carry more type information than just the result type, composition can be more efficient -- for example, eliminating space leaks.

Arrows have found use in functional reactive programming.