monad的引入效果不太好_Learn You a Haskell for Great Good!书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Learn You a Haskell for Great Good! > monad的引入效果不太好
悟道洞穴人 Learn You a Haskell for Great Good! 的书评 发表时间:2014-06-09 11:06:38

monad的引入效果不太好

monad的引入个人感觉效果不是太好。

如果可以先介绍monad的数学定义,之后介绍Haskell中的定义monad的方法,并讨论这两种定义之间的联系(如通过return/join/fmap定义monad和通过return/bind(>>=)定义monad这两种方法之间的等价性),然后再通过大量的例子来展示monad在haskell编程中的实际使用方法,特别是do block的运用,可能效果会更好一点。

当然,如果能在引入monad之前,利用上述类似的方法,引入functor,natural transformation,(甚至,我个人觉得,为了让monad的概念更清晰,应该在引入functor之前,引入category的定义),这样效果可能更好一点。虽然对这些概念的理解不是理解Haskell中monad的充分条件,但却可以有效地消除诸如“为什么Haskell中的monad要这样定义”的烦躁情绪。

这里,我给出一个wikibook上介绍Haskell中用到的category theory基础的链接,可以作为阅读过程中帮助理解的一个参考。当然,最有效的方法,还是自己反复思考,以提炼出自己的理解
https://en.wikibooks.org/wiki/Haskell/Category_theory

如果非得按照书中引入monad的方式来理解monad,我的感觉是,强迫自己反复思考monad和do block之间的相互转换,可能会是一个比较好方法。详细内容可以参考书中do notation这一章节

插图非常漂亮,写作的手法也很生动,有很多梗在里面,尤其是最后几章关于monad的章节命名,喜欢克林伊斯特伍德的朋友应该会有会心一笑 :)

但是,最后一章读完,是书没写完的感脚啊。。。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读