| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Arrow.Machine.Types
- data Phase
- type StepType a b c = a (Phase, b) (Phase, c, ProcessA a b c)
- data ProcessA a b c = ProcessA {}
- fit :: (Arrow a, Arrow a') => (forall p q. a p q -> a' p q) -> ProcessA a b c -> ProcessA a' b c
- dimapStep :: Arrow a => (b -> c) -> (d -> e) -> StepType a c d -> StepType a b e
- parStep :: (Arrow a, Arrow t, Monoid t4) => t (t2, t1) (t4, t5, a b c) -> t (t2, t3) (t4, t6, a b' c') -> t (t2, (t1, t3)) (t4, (t5, t6), a (b, b') (c, c'))
- arrStep :: ArrowApply a => (b -> c) -> StepType a b c
- compositeStep :: ArrowApply a => StepType a b d -> StepType a d c -> StepType a b c
- compositeStep' :: ArrowApply a => Phase -> StepType a b d -> StepType a d c -> StepType a b c
Documentation
The stream transducer arrow.
To construct ProcessA instances, use Plan,
arr, functions declared in Utils,
or arrow combinations of them.
May use ArrowChoice and ArrowLoop instance too.
but there is a limitation that loop cannot propagate Events to upstream.
In such case, use feedback instead.
Instances
| (ArrowApply a, ArrowReader r a) => ArrowReader r (ProcessA a) | |
| ArrowApply a => Category * (ProcessA a) | |
| (ArrowApply a, ArrowApply a', ArrowAddReader r a a') => ArrowAddReader r (ProcessA a) (ProcessA a') | |
| ArrowApply a => ArrowChoice (ProcessA a) | |
| ArrowApply a => Arrow (ProcessA a) | |
| (ArrowApply a, ArrowLoop a) => ArrowLoop (ProcessA a) | |
| Arrow a => Profunctor (ProcessA a) |
fit :: (Arrow a, Arrow a') => (forall p q. a p q -> a' p q) -> ProcessA a b c -> ProcessA a' b c Source
parStep :: (Arrow a, Arrow t, Monoid t4) => t (t2, t1) (t4, t5, a b c) -> t (t2, t3) (t4, t6, a b' c') -> t (t2, (t1, t3)) (t4, (t5, t6), a (b, b') (c, c')) Source
arrStep :: ArrowApply a => (b -> c) -> StepType a b c Source
compositeStep :: ArrowApply a => StepType a b d -> StepType a d c -> StepType a b c Source
Composition is proceeded by the backtracking strategy.
compositeStep' :: ArrowApply a => Phase -> StepType a b d -> StepType a d c -> StepType a b c Source