【问题标题】:Beginners Guide to Haskell? [closed]Haskell 初学者指南? [关闭]
【发布时间】:2010-09-06 05:24:50
【问题描述】:

一段时间以来,我一直在寻找一本体面的 Haskell 指南,但一直没有找到一个看起来足够有趣和/或有意义的指南。

几年前我曾接触过 Haskell,但我记不太清了。我记得“啊哈!”——当我终于拿到它时,那种感觉真是不可思议,而且玩起来真的很有趣,所以我希望重新发现失传的 Haskell 艺术。

我熟悉 Ruby 及其函数式编程技巧,所以我认为我并没有完全一无所知。有链接吗?

【问题讨论】:

  • 我正在寻找haskell 的初学者指南并来到这里。原始问题如何没有建设性?关闭它更没有建设性。 PFFT 这有时是一个精英网站。
  • @drumfire:现在我们有了新的理由,并且有一个更好的理由来关闭它,作为题外话:要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源 与 Stack Overflow 无关,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决它所做的工作。

标签: haskell functional-programming


【解决方案1】:

这看起来符合Why's Poignant Guide to Ruby 的风格。

Learn You a Haskell for Great Good!

【讨论】:

  • 我认为Why's Poignant Guide 和 Ruby 都不足以让人流泪。我明白他们的意图,我相信他们已经产生了积极的影响,但我认为 Haskell 和 Learn You a Haskell 从长远来看更加惊人。米兰做得很好,艺术品是一流的。
  • 一直在使用它,无论如何都不是一个完整的知识库,而是一个很好的开始。
  • 我发现 LYAH 是一个很棒的初学者指南。它以一种非常适合初学者的松散(阅读较少的学术)语言缓慢地教授 Haskell。我建议并排阅读 LYAHReal World Haskell,因为它们确实相得益彰。
  • 我认为这对于想要学习函数式编程的人来说是一个很好的介绍。它没有很好的实践问题,读者需要很长时间才能了解他们可以用 Haskell 做出有用的东西。
  • 这个教程读起来真的很愉快,它甚至成功地教了我一些复杂的概念,比如应用程序或单子,而不让我头疼;)
【解决方案2】:

一些好的起点是:

其他资源:

【讨论】:

  • 404 请修复第一个链接:服务器回复“系统找不到指定的路径。”
  • “通用 Haskell 用户指南”的 URL 报告消息 我们很抱歉!此 URL 与我们存储库中的任何资源都不匹配。
  • “Haskell 学习计划”超链接似乎也被破坏了。这不是删除请求;也许这里的某个人记得那个特定的资源并且可以在其他地方找到它。
  • “Haskell 学习计划”链接显然已通过将其移至 Wayback Machine 进行修复。
  • 这个答案很旧。 learnyouahaskell.com/chapters 至少应该被添加到列表中
【解决方案3】:

如果你和我一样,喜欢演示视频,那么这是一个很好的教程:

Haskell 的味道

这是一个三小时的教程,使用xmonad 作为一个运行示例,向有经验的(命令式)程序员解释 Haskell。 演讲由 Simon Peyton-Jones 主持,他是 Haskell 的*设计师之一,也是一位出色的演讲者。

【讨论】:

【解决方案4】:

一旦您通过了开始阶段,我强烈建议您阅读Real World Haskell

【讨论】:

  • 我中途停止阅读。我正在阅读免费的在线版本,其中有奇怪的、未更正的错误(尽管评论者注意到了它们)。第三章的练习很好,除了最后一个问题,其中包括寻找一组点的凸包的格雷厄姆扫描算法。这是一个突然的难度跳跃,特别是对于那些不熟悉算法的人。
【解决方案5】:

The Haskell wikibook 包含来自伟大教程Yet Another Haskell Tutorial 的文本。

(“通用 Haskell 用户指南”论文是一篇很好的论文,但我认为它对于 Haskell 初学者来说是一个特别糟糕的建议,因为它更像是一篇介绍 Haskell 扩展的学术论文,基本上是一种不同的语言“ Generic Haskell”(即带有旧版本 Generics 的 Haskell)而不是标准 Haskell 98。如果您正在寻找有关 Haskell 的密集阅读,请从 Haskell 98 report 开始。

【讨论】:

    【解决方案6】:

    Real World Haskell 是一本非常好的书。

    【讨论】:

    • 我不同意,因为教 Haskell 这是一本非常糟糕的书。
    • 一本非常好的书,但恕我直言,它在后面的一些章节中也有相当快的节奏,这对于 Haskell 初学者(比如我自己)来说可能有些困难。
    【解决方案7】:

    Yet Another Haskell Tutorial (PDF) 为我工作。

    编辑:Updike 指出 YAHT 的文本已被折叠到 Haksell Wikibooks 中。如果您(像我一样)喜欢打印出来并在纸上阅读,PDF 仍然很有用。

    顺便说一句,我还阅读了A Gentle Introduction To Haskell(也可提供 PDF 格式)。我绝对会向初学者推荐这个。与 Haskell 报告相比,它只是温和的。但是,当您对该语言有深入的了解时,它是一个很好的参考。

    【讨论】:

    • 很好的推荐,但请参阅我上面关于 YAHT 的文本已被纳入实时 Wiki 书籍的评论。
    • 同意:Haskell 的简单介绍。一旦所有的概念最终都被理解了,很高兴阅读以轻拍自己,但是对于初学者来说,那里有更好的资源。
    【解决方案8】:

    回复比较晚,但我非常喜欢阅读 Learn You A Haskell 在线提供的书籍和一本书。

    【讨论】:

      【解决方案9】:

      有人告诉我看 Programming in Haskell,来自格雷厄姆·赫顿

      【讨论】:

      • 我拥有这本书至少与其他三本有关 Haskell 的书一样,我认为它仅次于 Haskell 表达学派。我已经阅读了 Rel Haskell 大纲,我很确定这将是关于 Haskell Regards 的最佳书籍
      【解决方案10】:

      除了“Real World Haskell”之外,还可以找到“Haskell: The Craft of Functional Programming”的副本。很棒的教科书。

      【讨论】:

        【解决方案11】:

        我喜欢Haskell Tutorial for C Programmers。特别是如果您像我一样具有命令式语言背景。

        【讨论】:

          【解决方案12】:

          我已经从这个页面http://www.cs.nott.ac.uk/~gmh/book.html 下载了 10 张幻灯片,并且浏览了 很多 次。它工作z;)

          【讨论】:

          【解决方案13】:

          奇怪的是没有人建议Real World Haskell。恕我直言,这是您目前可以获得的最好的 Haskell 书籍,您可以在线或离线阅读。

          【讨论】:

            【解决方案14】:

            Haskell 真正独特的一点是有一个专门为初学者准备的邮件列表。转至Haskell-Beginners

            读书固然​​好,但有一些人问也是一种很好的资源。总之,我认为绝对没有理由说“Haskell 很难学习,因为它没有任何材料。”

            您可能还想访问 irc.freenode.net 上的 #haskell。

            【讨论】:

              【解决方案15】:

              还有来自亚琛工业大学的精彩系列讲座。

              我从 Haskell Wiki 的 Video presentations page 获得了所有这些信息。

              【讨论】:

                【解决方案16】:

                这就是我开始的地方。 haskell.org

                【讨论】: