Arrow
Types
Type Classes
Methods
arr :: (b -> c) -> a b c
first :: (a b c) -> a (b, d) (c, d)
second :: (a b c) -> a (d, b) (d, c)
*** :: (a b c) -> (a b' c') -> a (b, b') (c, c')
&&& :: (a b c) -> (a b c') -> a b (c, c')
Methods
<+> :: (a b c) -> (a b c) -> a b c
Arrows with a plus operation (choice between arrows).
Methods
left :: (a b c) -> a (Either b d) (Either c d)
right :: (a b c) -> a (Either d b) (Either d c)
+++ :: (a b c) -> (a b' c') -> a (Either b b') (Either c c')
||| :: (a b d) -> (a c d) -> a (Either b c) d
Arrows that support choice (branching on Either).
Methods
app :: a (a b c, b) c
Methods
loop :: (a (b, d) (c, d)) -> a b c
Arrows with a feedback loop (fixed-point combinator).
Functions
O(1). The identity arrow. Equivalent to @arr id@.
O(1). Precomposition with a pure function (left to right).
O(1). Postcomposition with a pure function (left to right).
O(1). Precomposition with a pure function (right to left).
O(1). Postcomposition with a pure function (right to left).