Это продолжение к моему предыдущему questionПочему в Scalaz нет полугруппы no> => для A => M [A]?
Kleisli
определяет два оператора <=<
(составляет) и >=>
(andThen). >=>
выглядит очень естественно для меня, и я не понимаю, как полезно использовать <=<
.
Кроме того, похоже, что нет >=>
полугруппы для A => M[A]
, но <=<
полугруппа действительно существует.
В чем причина этого?
Я подозреваю, что единственным реальным ответом является математическая традиция. Эти два эквивалентны в том, что 'a <=< b == b > => a', no? Так что это просто конвенция, например, например. матричное умножение определяется как row-column, а не row-row. – lmm