@@ -17,7 +17,7 @@ module Prelude
17 , Functor, (<$>), (<#>), void
17 , Functor, (<$>), (<#>), void
18 , Apply, (<*>)
18 , Apply, (<*>)
19 , Applicative, pure, liftA1
19 , Applicative, pure, liftA1
20− , Bind, (>>=)
20+ , Bind, bind, (>>=)
21 , Monad, return, liftM1, ap
21 , Monad, return, liftM1, ap
22 , Semigroup, (<>), (++)
22 , Semigroup, (<>), (++)
23 , Semiring, (+), zero, (*), one
23 , Semiring, (+), zero, (*), one
@@ -127,12 +127,15 @@ module Prelude
127 liftA1 f a = pure f <*> a
127 liftA1 f a = pure f <*> a
129 infixl 1 >>=
129 infixl 1 >>=
131+ (>>=) :: forall m a b. (Bind m) => m a -> (a -> m b) -> m b
131 class (Apply m) <= Bind m where
134 class (Apply m) <= Bind m where
132− (>>=) :: forall a b. m a -> (a -> m b) -> m b
135+ bind :: forall a b. m a -> (a -> m b) -> m b
134 instance bindArr :: Bind ((->) r) where
137 instance bindArr :: Bind ((->) r) where
135− (>>=) m f x = f (m x) x
138+ bind m f x = f (m x) x
137 class (Applicative m, Bind m) <= Monad m
140 class (Applicative m, Bind m) <= Monad m
@@ -585,7 +588,7 @@ module Control.Monad.Eff
585 pure = returnE
588 pure = returnE
587 instance bindEff :: Bind (Eff e) where
590 instance bindEff :: Bind (Eff e) where
588− (>>=) = bindE
591+ bind = bindE
590 instance monadEff :: Monad (Eff e)
593 instance monadEff :: Monad (Eff e)