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

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)