composition-extra-0.0.0.1: src/Control/Monad/Composition.hs
module Control.Monad.Composition where
(>>==) :: Monad m =>
m b
-> (a -> b -> m c)
-> a -> m c
(>>==) mb f a = f a =<< mb
(>>===) :: Monad m =>
m c
-> (a -> b -> c -> m d)
-> a -> b -> m d
(>>===) mc f a b = f a b =<< mc
(>>====) :: Monad m =>
m d
-> (a -> b -> c -> d -> m e)
-> a -> b -> c -> m e
(>>====) md f a b c = f a b c =<< md
(>>=====) :: Monad m =>
m e
-> (a -> b -> c -> d -> e -> m f)
-> a -> b -> c -> d -> m f
(>>=====) me f a b c d = f a b c d =<< me
(>>======) :: Monad m =>
m f
-> (a -> b -> c -> d -> e -> f -> m g)
-> a -> b -> c -> d -> e -> m g
(>>======) mf f a b c d e = f a b c d e =<< mf
(==<<) :: Monad m =>
(a -> b -> m c)
-> m b
-> a -> m c
(==<<) = flip (>>==)
(===<<) :: Monad m =>
(a -> b -> c -> m d)
-> m c
-> a -> b -> m d
(===<<) = flip (>>===)
(====<<) :: Monad m =>
(a -> b -> c -> d -> m e)
-> m d
-> a -> b -> c -> m e
(====<<) = flip (>>====)
(=====<<) :: Monad m =>
(a -> b -> c -> d -> e -> m f)
-> m e
-> a -> b -> c -> d -> m f
(=====<<) = flip (>>=====)
(======<<) :: Monad m =>
(a -> b -> c -> d -> e -> f -> m g)
-> m f
-> a -> b -> c -> d -> e -> m g
(======<<) = flip (>>======)