
29 Oct
2006
29 Oct
'06
2:57 p.m.
On 2006-10-29 at 09:30EST kahl@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