On Sun, 2008-08-03 at 14:52 +0000, Roly Perera wrote:
> > I'm obviously missing something basic here but I don't seem to be able to 
> > use
> > the >=> operator which is apparently defined in the Prelude and also in
> > Control.Monad.
> 
> Sorry, I wasn't very clear in my original posting.  What I meant to say is 
> that
> the compiler seems to be unable to find a definition of >=>.  I get the 
> message:
> 
> Not in scope: `>=>'
> 
> My understanding is that I shouldn't need to import this at all by default, 
> and
> that importing Control.Monad should also pick it up.

It's not in the Prelude but it is in Control.Monad in base version 3
and later. You're probably using an older GHC which has base version
2.x.

You can define it locally:

-- | Left-to-right Kleisli composition of monads.
(>=>)       :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
f >=> g     = \x -> f x >>= g


Duncan

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to