Haskell MOOC
课程简介
- 所属大学:University of Helsinki
- 先修要求:无
- 编程语言:Haskell
- 课程难度:🌟🌟
- 预计学时:因人而异
函数式编程的思想也出现在 Java Streams、JavaScript Promises 等语言特性中。本课程通过 Haskell 介绍核心的程序语义,帮助理解这些抽象背后的设计思想。
虽然这门课的名字是 Haskell,但它的核心内容是函数式编程思想。就像学习面向对象程序设计,大概率不会选择 Java 之外的语言。
课程使用必要的 Haskell 语法、库与工具解释函数式编程的核心思想,重点是程序语义,而非完整的语言生态。
这门课覆盖的内容:
- Pure Function
- Lazy Evaluation
- Strongly Typed
- Type Inferred
- Curry
- Monoid / Functor / Monad / Applicative
如果你有编程经验,课程的 Part1 很简单,难度集中在 Part2 的十三章之后。课程的练习很棒,它有一种在做 CS61a 练习的感觉。练习的注释中有足够的提示,作业在你提交之后会给你标准答案,你还可以在官方的 Telegram 中提问或与他人讨论。
课程资源
- 课程网站:https://haskell.mooc.fi/
- 课程视频:无
- 课程教材:https://haskell.mooc.fi/
- 课程作业:https://github.com/moocfi/haskell-mooc
- 社区:https://t.me/haskell_mooc_fi
资源汇总
@showtheunli 在学习这门课中用到的所有资源和作业实现都汇总在 showthesunli/haskell-mooc - GitHub 中。(非常不建议在作业时,参考别人的实现)