IdrisDoc: Control.Arrow

# Control.Arrow

runArrowMonad : ArrowMonad arr a -> arr (the Type ()) a
default#second : Arrow arr => arr a b -> arr ( c, a) ( c, b)
default#right : ArrowChoice arr => arr a b -> arr (Either c a) (Either c b)
default#\|/ : ArrowChoice arr => arr a b -> arr c b -> arr (Either a c) b
default#+++ : ArrowChoice arr => arr a b -> arr c d -> arr (Either a c) (Either b d)
default#*** : Arrow arr => arr a b -> arr a' b' -> arr ( a, a') ( b, b')
default#&&& : Arrow arr => arr a b -> arr a b' -> arr a ( b, b')
interface ArrowZero
  zeroArrow : ArrowZero arr => arr a b
interface ArrowPlus
  (<++>) : ArrowPlus arr => arr a b -> arr a b -> arr a b
    Fixity
      Left associative, precedence 5
data ArrowMonad : (Type -> Type -> Type) -> Type -> Type
  MkArrowMonad : (runArrowMonad : arr (the Type ()) a) -> ArrowMonad arr a
interface ArrowLoop
  loop : ArrowLoop arr => arr ( a, c) ( b, c) -> arr 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 ArrowApply
  app : ArrowApply arr => arr ( arr a b, a) b
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