HaskellArrows
Last edit August 1, 2014
Arrows are a formulation within
HaskellLanguage
which can be both monads (See
OnMonads
) and
CoMonads
. See
http://www.haskell.org/arrows/index.html
To quote from the introduction there:
Arrows are a new abstract view of computation, defined by John Hughes [Hug00]. They serve much the same purpose as monads -- providing a common structure for libraries -- but are more general. In particular they allow notions of computation that may be partially static (independent of the input) or may take multiple inputs. If your application works fine with monads, you might as well stick with them. But if you're using a structure that's very like a monad, but isn't one, maybe it's an arrow.
[Hug00]
JohnHughes
,
GeneralisingMonadsToArrows
, in Science of Computer Programming 37, pp67-111, May 2000.
The applications include
FunctionalReactiveProgramming
, see for example:
http://www.haskell.org/yale/papers/haskellworkshop02/
(
BrokenLink
)
See also
HaskellLanguage
and implementation in
ScalaLanguage
CategoryFunctionalProgramming
CategoryHaskell