
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