我想知道
之间的区别 ->
,>>=
和<-
以及如何使用它们?
答案 0 :(得分:1)
a -> b
是函数类型。它描述了一个采用类型a
并返回类型b
的函数。
>>=
是monadic绑定函数。它的类型为Monad m => m a -> (a -> m b) -> m b
。如果您需要了解这一点,我建议您阅读Learn You a Haskell for Great Good。
<-
是do
块中的语法糖,其中do {a <- b; c}
转换为b >>= \a -> c
,即它基本上是编写>>=
的更好方式。< / p>