learnhaskell/guide-zh_CN.md
muzimuzhi ffe9a32f82
Update course numbering, s/cis194/cis1940/g (#159)
Upenn now uses 4-digit numbering

Signed-off-by: muzimuzhi <muzimuzhi@gmail.com>
2022-06-30 11:44:44 -05:00

4.5 KiB
Raw Permalink Blame History

前言

这是根据帮助别人的经验总结而来的一条 Haskell 学习路线,其中列出了 Haskell 书的作者之一所推荐的一系列学习资料。

如果遇到不懂的地方也不要紧张。继续读下去!

社群

IRC 频道Freenode 上的 #haskell-beginners

IRC web 版客户端

Haskell 邮件群组

社群参与原则

阅读我们的社群参与原则,了解在 IRC 频道应遵守的原则。变相的攻讦行为将会被警告。请注意,这个频道是专为学习和教授 Haskell 的人准备的。

安装 Haskell

通过 Stack 使用 Haskell

获取 Stack 来安装 GHC 并构建你的项目。

如果你对 Stack 一无所知,又想了解一下,可以看看这个全面的 Stack 视频教程

还有,不要安装 Haskell Platform

直接使用 Stack而不要遵循 Haskell.org 里面的说明。

为什么不使用 platform?

https://mail.haskell.org/pipermail/haskell-community/2015-September/000014.html

我该如何学习 Haskell

推荐的核心是阅读 cis1940 课程2013 年春季学期版)的讲解并完成所有习题和作业,然后是 FP 课程。下方列出了两门课的链接。其他的所有内容都可以视为选学内容,我们就在这里提一下是为了让你知道该到哪里找到它们。

Haskell 编程:从第一原理开始

@dmvianna 让我告诉你,下面列出的都只是免费的推荐资料。如果你愿意看书,衷心推荐我们自己写的 Haskell 书!如果你因为某些原因买不起这本书,请使用支持页面里的联系方式发邮件给我们。

Haskell Book 书包含了这里列出的全部基础资料(包含的内容)

Yorgey 的 cis1940 课程

如果/你不打算买那本 Haskell 书,那就先学习本课程,它是最好的免费 Haskell 入门介绍。

在线获取。

Brent Yorgey 的课程是迄今为止我所发现的最好的课程。 这门课程非常有价值,因为它不仅会教你编写基本的 Haskell而且还会帮助你了解语法分析组合子。

只有当你不是程序员,或者是个缺乏经验的程序员时,你才不应该从 cis1940 开始学。 如果你真的是这样,请从Thompson 的这本书开始学并过渡到 cis1940。


函数式编程课程

我们推荐你在完成 Yorgey 的 cis1940 课程之后再学习这门课。

在 GitHub 这里获取。

这门课会让你直接体验用代码实现 cis1940 中介绍过的各种抽象并加深你对它们的理解。这样的练习对于让你熟悉 Haskell 中 Functor/Applicative/Monad 等等概念的日常使用至关重要。先学 cis1940然后学 FP是我这篇指南的核心也是我教大家 Haskell 的方式。


cis1940 和 FP 课程之后的补充课程

这门课提供了更多中级材料

cs240h 可从线上获取

这是 Bryan O'Sullivan 在斯坦福大学教的在线课程。如果你不知道他是谁,你可以去瞟一眼所有 Haskell 应用程序都总会需要的那些库,其中一半的库上都写着他的名字。如果你已经学过 Yorgey 的课程的话,要特别注意讲解幽灵类型、信息流控制、语言扩展、并发、管道和透镜的章节。


补充资料

这些资料不像 cis1940 和 FP 课程那样经过了学习者的共同把关和评测,它们的链接都在主题清单里,方便你知道从哪里开始。这里面涉及中高级的概念和课题,比如工具和文本编辑器。

译著

补充资料部分的旧版中译可从这里获得。

对话记录

存放在这个仓库里。

这些对话真的相当重要而会对你很有帮助,想深入了解各种主题请看这里。