@@ -0,0 +1,18 @@
1+module Control.Monad.Syntax
8+||| Left-to-right Kleisli composition of monads.
9+(>=>) : Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
10+(>=>) f g = \x => f x >>= g
12+||| Right-to-left Kleisli composition of monads, flipped version of `>=>`.
13+(<=<) : Monad m => (b -> m c) -> (a -> m b) -> (a -> m c)
16+||| Right-to-left monadic bind, flipped version of `>>=`.
17+(=<<) : Monad m => (a -> m b) -> m a -> m b