Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Category a => Arrow a where Source #
Variant of the standard Arrow
type class with a
different arr
method so that it can be implemented
for signal functions in Rattus.
arrBox :: Box (b -> c) -> a b c Source #
Lift a function to an arrow. It is here the definition of the
Arrow
class differs from the standard one. The function to be
lifted has to be boxed.
first :: a b c -> a (b, d) (c, d) Source #
Send the first component of the input through the argument arrow, and copy the rest unchanged to the output.
second :: a b c -> a (d, b) (d, c) Source #
A mirror image of first
.
The default definition may be overridden with a more efficient version if desired.
(***) :: a b c -> a b' c' -> a (b, b') (c, c') Source #
Split the input between the two argument arrows and combine their output. Note that this is in general not a functor.
(&&&) :: a b c -> a b c' -> a b (c, c') Source #
Fanout: send the input to both argument arrows and combine their output.
The default definition may be overridden with a more efficient version if desired.