arrow-extras-0.1.0.0: Extra functions for Control.Arrow

Safe HaskellSafe
LanguageHaskell2010

Control.Arrow.Extras

Synopsis

Documentation

(>*>) :: Arrow p => p a (b -> c) -> p a b -> p a c Source #

Feed the output of second arrow into the output of the first arrow. Can be used to emulate Applicative * like usage:

foo :: Appplicative f => f a -> f b -> f (a, b)
(,) $ a * b

The arrow version is:

foo :: Arrow p => p x a -> p x b -> p x (a, b)
arr (const (,)) >*> a >*> b

(<<^=) :: Arrow a => a c d -> c -> a x d Source #

precomposition with a pure value

(>>^=) :: Arrow a => a b c -> d -> a b d Source #

postcomposition with a pure value

(=^<<) :: Arrow a => d -> a b c -> a b d Source #

postcomposition with a pure value (right-to-left variant)

(=^>>) :: Arrow a => c -> a c d -> a x d Source #

precomposition with a pure value (right-to-left variant)