Idris2Doc : Control.Arrow

Control.Arrow

Definitions

interfaceArrow : (Type->Type->Type) ->Type
Parameters: arr
Constraints: Category arr
Methods:
arrow : (a->b) ->arrab
  Converts a function from input to output into a arrow computation.
first : arrab->arr (a, c) (b, c)
  Converts an arrow from `a` to `b` into an arrow on pairs, that applies
its argument to the first component and leaves the second component
untouched, thus saving its value across a computation.
second : arrab->arr (c, a) (c, b)
  Converts an arrow from `a` to `b` into an arrow on pairs, that applies
its argument to the second component and leaves the first component
untouched, thus saving its value across a computation.
(***) : arrab->arra'b'->arr (a, a') (b, b')
  A combinator which processes both components of a pair.

Fixity Declaration: infixr operator, level 3
(&&&) : arrab->arrab'->arra (b, b')
  A combinator which builds a pair from the results of two arrows.

Fixity Declaration: infixr operator, level 3

Implementations:
ArrowMorphism
Monadm=>Arrow (Kleislimorphismm)
arrow : Arrowarr=> (a->b) ->arrab
  Converts a function from input to output into a arrow computation.

Visibility: public export
first : Arrowarr=>arrab->arr (a, c) (b, c)
  Converts an arrow from `a` to `b` into an arrow on pairs, that applies
its argument to the first component and leaves the second component
untouched, thus saving its value across a computation.

Visibility: public export
second : Arrowarr=>arrab->arr (c, a) (c, b)
  Converts an arrow from `a` to `b` into an arrow on pairs, that applies
its argument to the second component and leaves the first component
untouched, thus saving its value across a computation.

Visibility: public export
(***) : Arrowarr=>arrab->arra'b'->arr (a, a') (b, b')
  A combinator which processes both components of a pair.

Visibility: public export
Fixity Declaration: infixr operator, level 3
(&&&) : Arrowarr=>arrab->arrab'->arra (b, b')
  A combinator which builds a pair from the results of two arrows.

Visibility: public export
Fixity Declaration: infixr operator, level 3
interfaceArrowZero : (Type->Type->Type) ->Type
Parameters: arr
Constraints: Arrow arr
Methods:
zeroArrow : arrab

Implementation: 
ArrowPlusarr->ArrowZeroarr
zeroArrow : ArrowZeroarr=>arrab
Visibility: public export
interfaceArrowPlus : (Type->Type->Type) ->Type
Parameters: arr
Constraints: ArrowZero arr
Methods:
(<++>) : arrab->arrab->arrab
Fixity Declaration: infixr operator, level 5
(<++>) : ArrowPlusarr=>arrab->arrab->arrab
Visibility: public export
Fixity Declaration: infixr operator, level 5
interfaceArrowChoice : (Type->Type->Type) ->Type
Parameters: arr
Constraints: Arrow arr
Methods:
left : arrab->arr (Eitherac) (Eitherbc)
right : arrab->arr (Eitherca) (Eithercb)
(+++) : arrab->arrcd->arr (Eitherac) (Eitherbd)
Fixity Declaration: infixr operator, level 2
(\|/) : arrab->arrcb->arr (Eitherac) b
Fixity Declaration: infixr operator, level 2

Implementation: 
Monadm=>ArrowChoice (Kleislimorphismm)
left : ArrowChoicearr=>arrab->arr (Eitherac) (Eitherbc)
Visibility: public export
right : ArrowChoicearr=>arrab->arr (Eitherca) (Eithercb)
Visibility: public export
(+++) : ArrowChoicearr=>arrab->arrcd->arr (Eitherac) (Eitherbd)
Visibility: public export
Fixity Declaration: infixr operator, level 2
(\|/) : ArrowChoicearr=>arrab->arrcb->arr (Eitherac) b
Visibility: public export
Fixity Declaration: infixr operator, level 2
interfaceArrowApply : (Type->Type->Type) ->Type
Parameters: arr
Constraints: Arrow arr
Methods:
app : arr (arrab, a) b

Implementation: 
Monadm=>ArrowApply (Kleislimorphismm)
app : ArrowApplyarr=>arr (arrab, a) b
Visibility: public export
dataArrowMonad : (Type->Type->Type) ->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkArrowMonad : arr () a->ArrowMonadarra

Hints:
Arrowa=>Applicative (ArrowMonada)
Arrowa=>Functor (ArrowMonada)
ArrowApplya=>Monad (ArrowMonada)
runArrowMonad : ArrowMonadarra->arr () a
Visibility: public export
interfaceArrowLoop : (Type->Type->Type) ->Type
Parameters: arr
Constraints: Arrow arr
Methods:
loop : arr (a, c) (b, c) ->arrab
loop : ArrowLooparr=>arr (a, c) (b, c) ->arrab
Visibility: public export
liftA2 : Arrowarr=> (a->b->c) ->arrda->arrdb->arrdc
  Applying a binary operator to the results of two arrow computations.

Visibility: public export