Safe Haskell | None |
---|
Documentation
readerArrow :: Arrow a => a (e, r) b -> ReaderArrow r a e bSource
autoToMonad :: (ArrowApply a', ArrowAddAutomaton a may a') => a i (Either o z) -> i -> ContT (o, a i o) (ArrowMonad a') zSource
co :: (ArrowApply a', ArrowAddAutomaton a may a') => o -> ContT (o, a i o) (ArrowMonad a') iSource
monadToAuto :: (ArrowAddAutomaton a may a', ArrowApply a') => (i -> ContT (o, a i o) (ArrowMonad a') z) -> a i oSource
pushError :: ArrowChoice a => a e (Either ex b) -> ErrorArrow ex a e bSource
popError :: ArrowChoice a => ErrorArrow ex a e b -> a e (Either ex b)Source
class (ArrowChoice a, ArrowChoice may, ArrowChoice a', ArrowApply a') => ArrowAddAutomaton a may a' | a -> a', a -> may, may -> a whereSource
elimAutomaton :: a i o -> a' i (o, a i o)Source
liftAutomaton :: a' i (o, a i o) -> a i oSource
constantAutomaton :: a' i o -> a i oSource
toMaybeAutomaton :: a i o -> may i oSource
fromMaybeAutomaton :: may i o -> a i oSource
liftMaybeAutomaton :: a' i (o, Maybe (a i o)) -> may i oSource
elimMaybeAutomaton :: may i o -> a' i (o, Maybe (a i o))Source
(ArrowChoice a, ArrowApply a) => ArrowAddAutomaton (Automaton a) (MaybeAutomaton a) a | |
(Arrow a, Arrow a', ArrowAddAutomaton a may a') => ArrowAddAutomaton (LabeledArrow a) (LabeledArrow may) (LabeledArrow a') | |
(Arrow a, Arrow a', ArrowAddAutomaton a may a') => ArrowAddAutomaton (ReaderArrow r a) (ReaderArrow r may) (ReaderArrow r a') | |
(Arrow a, Arrow may, Arrow a', ArrowAddAutomaton a may a') => ArrowAddAutomaton (StateArrow s a) (StateArrow s may) (StateArrow s a') | |
(ArrowChoice a, ArrowChoice may, ArrowChoice a', ArrowAddAutomaton a may a') => ArrowAddAutomaton (ErrorArrow ex a) (ErrorArrow ex may) (ErrorArrow ex a') |
dispatch :: (Ord k, ArrowAddAutomaton a may a') => (k -> may i o) -> may (i, k) oSource