arrow-extras-0.1.0.1: 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 infixl 0 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 infixr 1 Source #

precomposition with a pure value

(>>$) :: Arrow a => a b c -> d -> a b d infixr 1 Source #

postcomposition with a pure value

($<<) :: Arrow a => d -> a b c -> a b d infixr 1 Source #

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

($>>) :: Arrow a => c -> a c d -> a x d infixr 1 Source #

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