Speaking of small functions

kahl at cas.mcmaster.ca kahl at cas.mcmaster.ca
Sun Oct 29 14:57:49 EST 2006


 > 
 > On 2006-10-29 at 09:30EST kahl at cas.mcmaster.ca  wrote:
 > >  > 
 > >  > Speaking of small functions, Kleisli composition should at least be in
 > >  > Control.Monad. It's a simple thing, and not commonly explicitly used
 > >  > at the moment, but rather important conceptually.
 > >  > 
 > >  > (@@) :: (Monad m) => (b -> m c) -> (a -> m b) -> (a -> m c)
 > >  > g @@ f = \x -> f x >>= g
 > > 
 > > I support this strongly.
 > > 
 > > My notation is (=>>=), to go with (>>=).
 > 
 > That's a better symbol for it. (@@) could be just about
 > anything, while (=>>=) is suggestive. Though I think what it
 > suggests might be with the arguments in a different order?

Yes, indeed! Thanks for pointing this out!
And I definitely prefer that order:

(=>>=) :: (a -> m b) -> (b -> m c) -> (a -> m c)


Wolfram


More information about the Libraries mailing list