|
Control.Arrow.Transformer.Static | Portability | non-portable (multi-parameter type classes) | Stability | experimental | Maintainer | ross@soi.city.ac.uk |
|
|
|
Description |
Arrow transformer adding static information.
|
|
Synopsis |
|
|
|
Documentation |
|
data StaticArrow f a b c |
An arrow type that augments the underlying arrow with static information.
| Instances | (ArrowError ex a, Applicative f) => ArrowError ex (StaticArrow f a) | (ArrowReader r a, Applicative f) => ArrowReader r (StaticArrow f a) | (ArrowState s a, Applicative f) => ArrowState s (StaticArrow f a) | (ArrowWriter w a, Applicative f) => ArrowWriter w (StaticArrow f a) | (ArrowAddError ex a a', Applicative f) => ArrowAddError ex (StaticArrow f a) (StaticArrow f a') | (ArrowAddReader r a a', Applicative f) => ArrowAddReader r (StaticArrow f a) (StaticArrow f a') | (ArrowAddState s a a', Applicative f) => ArrowAddState s (StaticArrow f a) (StaticArrow f a') | (ArrowAddWriter w a a', Applicative f) => ArrowAddWriter w (StaticArrow f a) (StaticArrow f a') | (Arrow a, Applicative f) => ArrowTransformer (StaticArrow f) a | (Arrow a, Applicative f) => Arrow (StaticArrow f a) | (ArrowChoice a, Applicative f) => ArrowChoice (StaticArrow f a) | (ArrowCircuit a, Applicative f) => ArrowCircuit (StaticArrow f a) | (ArrowLoop a, Applicative f) => ArrowLoop (StaticArrow f a) | (ArrowPlus a, Applicative f) => ArrowPlus (StaticArrow f a) | (ArrowZero a, Applicative f) => ArrowZero (StaticArrow f a) | (ArrowAddStream a a', Applicative f) => ArrowAddStream (StaticArrow f a) (StaticArrow f a') |
|
|
|
type StaticMonadArrow m = StaticArrow (WrappedMonad m) |
A special case is monads applied to the whole arrow, in contrast to
Kleisli arrows, in which the monad is applied to the output.
|
|
type StaticArrowArrow a s = StaticArrow (WrappedArrow a s) |
A special case.
|
|
wrapA :: (Arrow a, Arrow a') => a s (a' b c) -> StaticArrowArrow a s a' b c |
|
unwrapA :: (Arrow a, Arrow a') => StaticArrowArrow a s a' b c -> a s (a' b c) |
|
wrapM :: (Monad m, Arrow a) => m (a b c) -> StaticMonadArrow m a b c |
|
unwrapM :: (Monad m, Arrow a) => StaticMonadArrow m a b c -> m (a b c) |
|
Produced by Haddock version 0.8 |