【发布时间】:2010-07-14 14:43:15
【问题描述】:
我一直在逐渐学习 Haskell,甚至觉得自己掌握了一些 monad。但是,还有很多我几乎看不懂的异国情调的东西,比如 Arrows、Applicative 等。虽然我是从我看过的 Haskell 代码中拾取零碎的东西,但最好找到一个真正解释的教程他们完全。 (似乎有几十个关于 monad 的教程......但一切似乎在那之后就完成了!)
【问题讨论】:
-
你应该看看 Typeclassopedia,它有很多关于 Applicative 和箭头的概念(不确定箭头)。你可以在the monad reader issue 13找到它
-
忘记异国情调的东西。写代码。只有当您编写了足够多的代码时,您才能体会到更奇特的抽象是如何提供帮助的。即便如此,如果没有
Arrows和Applicative,你很可能会相处得很好:GHC 中有 100k 行代码,我们甚至从不使用单子转换器。 -
@Simon:我理解你的意思,但你真的认为尝试关闭对更高级抽象的好奇心是个好主意吗?我个人并不主要使用 Haskell 来完成工作——我可以在 Java 或 Ruby 中更有效地工作。我使用 Haskell 是因为它给了我新的思考方式。我读到海报的问题是本着这种精神——而不是关于如何“相处得很好”。
-
我认为他的观点是人们认为“Haskell”并认为“学术抽象”,而不是“编程语言”。当你学习 Haskell 但从未真正编程过任何东西时,循环会继续。 Haskell 是用来编写计算机程序的,而不是用来让你的朋友相信你比他们聪明。
-
@Travis,我担心的是,如果我们给人的印象是你必须学习和理解这些高级概念才能使用它,那么我认为我们可能会让人们远离这种语言,仅此而已。
标签: haskell