关于Monad的一些误解

从real world haskell中文版里摘录:

关于Monad的一些误解
我们已经见识过很多Monad的例子并且对monad也有一些感觉了;在继续探讨monad之前,有一些广为流传的关于monad的观念需要澄清。你肯定经常听到这些说法,因此你可能已经有一些很好的理由来反驳这些谬论了。

Monads很难理解? 我们已经从好几个实例的问题来说明Monad是如何工作的了,并且我们已经知道理解monad最好的方式就是先通过一些具体的例子来进行解释,然后抽象出这些这些例子共同的东西。
Monads仅仅用于 I/O 操作和命令式代码? 虽然我们在Haskell的IO里面使用Monad,但是Monad在其他的地方也非常有用。我们已经通过monad串联简单的计算,隐藏复杂的状态以及纪录日志了;然而,Monad的作用我们还只看到冰山一角。
只有Haskell才有Monad? Haskell有可能是显式使用Monad最多的语言,但是在别的语言里面也存在,从C++到OCaml。由于Haskell的 do 表示法,强大的类型系统以及语言的语法使得Monad在Haskell里面非常容易处理。
Monads使用来控制求值顺序的

你可能感兴趣的:(关于Monad的一些误解)