Во многих статьях я прочитал, что оператор monad >>=
- это способ представления композиции функции. Но для меня это ближе к некоторому расширенному функциональному приложению
($) :: (a -> b) -> a -> b
(>>=) :: Monad m => m a -> (a -> m b) -> m b
Для композиции мы имеем
(.) :: (b -> c) -> (a -> b) -> a -> c
(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
Просьба пояснить.