Is monad bind (>>=) operator closer to function composition (chaining) or function application?
问题 In many articles I have read that monad >>= operator is a way to represent function composition. But for me it is closer to some kind of advanced function application ($) :: (a -> b) -> a -> b (>>=) :: Monad m => m a -> (a -> m b) -> m b For composition we have (.) :: (b -> c) -> (a -> b) -> a -> c (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c Please clarify. 回答1: Clearly, >>= is not a way to represent function composition . Function composition is simply done with . . However, I