Monad
类定义了 >>
方法,它对两个一元 Action 进行排序:
>> :: Monad m => m a -> m b -> m b
绑定(bind)运算符
>>=
有一个等价的翻转参数,=<<
;与一元函数组合('fish')运算符 >=>
一样和 <=<
.好像没有<<
, 但是(经过几分钟的 Hoogling)。为什么是这样?编辑:我知道这没什么大不了的。我只是喜欢某些代码行与左指向运算符的外观。
x <- doSomething =<< doSomethingElse
只是看起来比 x <- doSomethingElse >>= doSomething
更好,箭头都指向相同的方向.
最佳答案
据我所知,没有充分的理由。请注意,您的 Monad
也应该是 Applicative
的一个实例, 所以你可以使用 <*
和 *>
而是作为您的测序工具。
关于haskell - 为什么 Haskell 标准库中没有 <<?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14176667/