IdrisDoc: Control.ArrowControl.Arrow
- interface Arrow
- arrow : Arrow arr =>
(a ->
b) ->
arr a
b
- first : Arrow arr =>
arr a
b ->
arr (a,
c)
(b,
c)
- second : Arrow arr =>
arr a
b ->
arr (c,
a)
(c,
b)
- (***) : Arrow arr =>
arr a
b ->
arr a'
b' ->
arr (a,
a')
(b,
b')
- Fixity
- Left associative, precedence 3
- (&&&) : Arrow arr =>
arr a
b ->
arr a
b' ->
arr a
(b,
b')
- Fixity
- Left associative, precedence 3
- interface ArrowApply
- app : ArrowApply arr =>
arr (arr a
b,
a)
b
- interface ArrowChoice
- left : ArrowChoice arr =>
arr a
b ->
arr (Either a
c)
(Either b
c)
- right : ArrowChoice arr =>
arr a
b ->
arr (Either c
a)
(Either c
b)
- (+++) : ArrowChoice arr =>
arr a
b ->
arr c
d ->
arr (Either a
c)
(Either b
d)
- Fixity
- Left associative, precedence 2
- (\|/) : ArrowChoice arr =>
arr a
b ->
arr c
b ->
arr (Either a
c)
b
- Fixity
- Left associative, precedence 2
- interface ArrowLoop
- loop : ArrowLoop arr =>
arr (a,
c)
(b,
c) ->
arr a
b
- data ArrowMonad : (Type ->
Type ->
Type) ->
Type ->
Type
- MkArrowMonad : (runArrowMonad : arr (the Type
())
a) ->
ArrowMonad arr
a
- interface ArrowPlus
- (<++>) : ArrowPlus arr =>
arr a
b ->
arr a
b ->
arr a
b
- Fixity
- Left associative, precedence 5
- interface ArrowZero
- zeroArrow : ArrowZero arr =>
arr a
b
- default#&&& : Arrow arr =>
arr a
b ->
arr a
b' ->
arr a
(b,
b')
- default#*** : Arrow arr =>
arr a
b ->
arr a'
b' ->
arr (a,
a')
(b,
b')
- default#+++ : ArrowChoice arr =>
arr a
b ->
arr c
d ->
arr (Either a
c)
(Either b
d)
- default#\|/ : ArrowChoice arr =>
arr a
b ->
arr c
b ->
arr (Either a
c)
b
- default#right : ArrowChoice arr =>
arr a
b ->
arr (Either c
a)
(Either c
b)
- default#second : Arrow arr =>
arr a
b ->
arr (c,
a)
(c,
b)
- runArrowMonad : ArrowMonad arr
a ->
arr (the Type
())
a