composition-extra-1.0.0: src/Control/Monad/Syntax.hs
module Control.Monad.Syntax
( module X
, (>>==)
, (>>===)
, (>>====)
, (>>=====)
, (>>======)
) where
import Control.Monad.Syntax.Two as X
import Control.Monad.Syntax.Three as X
import Control.Monad.Syntax.Four as X
import Control.Monad.Syntax.Five as X
import Control.Monad.Syntax.Six as X
(>>==) :: Monad m =>
m b
-> (a -> b -> m c)
-> a -> m c
(>>==) mb f a = f a =<< mb
infixr 2 >>==
(>>===) :: Monad m =>
m c
-> (a -> b -> c -> m d)
-> a -> b -> m d
(>>===) mc f a b = f a b =<< mc
infixr 2 >>===
(>>====) :: 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
infixr 2 >>====
(>>=====) :: 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
infixr 2 >>=====
(>>======) :: 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
infixr 2 >>======