如何学习 Haskell ?

本人有 Matlab、Maple、R 语言的基础(都是入门级 …),想学 Haskell。 不知道从何学起?有没有什么资源推荐?网站、书籍等。
关注者
2,011
被浏览
169,717
【视频/课程】

UPDATE:不再推荐Erik Meijer的FP101x。直接看Hutton的书就够了。
Introduction to Functional Programming
Erik Meijer的公开课,内容很浅,覆盖基本Haskell语法,适合入门。用的教材是Programming in Haskell。他还在Channel 9上录过一套Haskell教学视频,不过那些视频比较老了(口音一如既往有特色啊):C9 Lectures: Dr. Erik Meijer

以下课程难度更高,适合有一定Haskell基础者继续学习。
videoag.fsmpi.rwth-aachen.de (亚琛工业大学的Haskell讲课视频,实现Haskell编译器可以看)
Oregon Programming Languages Summer School(OPLSS13中Simon Peyton Jones的系列讲座“Adventures with types in Haskell”,着重介绍类型系统)
CS240h: Functional Systems in Haskell (注重工程实践,范围与Real World Haskell相当)

另外值得一看的还有
Explore our archive for haskell conference and community skillscast videos(skills matter上有许多Haskell相关讲座的视频,值得一看。注册一个账号就可以在线看,vimeo需要科学上网)
Functional Programming (Channel 9上有一些跟Functional Programming相关的有趣讲座)
drKraken/haskell-must-watch · GitHub(一些Haskell相关视频的清单)

【教材】

Programming in Haskell(FP101x教材)
Learn You a Haskell for Great Good!(趣学指南)
Thinking Functionally with Haskell
Haskell: The Craft of Functional Programming (3rd Edition)
覆盖基本Haskell语法,适合入门。尤其推荐第一本,篇幅短,内容精炼,作为第一本Haskell书比趣学指南好。

Real World Haskell
Parallel and Concurrent Programming in Haskell
Yesod Web Framework Book- Version 1.4
Haskell Data Analysis Cookbook
Haskell Financial Data Modeling and Predictive Analytics
注重工程实践。Real World Haskell的书覆盖面广,但是太旧,不少库和语言的变化没有包含;并行与并发编程、Yesod书这两本尤其推荐。

Pearls of Functional Algorithm Design
Purely Functional Data Structures
纯函数式的数据结构和算法经典。Chris Okasaki的PFDS不管是搞Haskell还是搞OCaml/Scala都适合一读,不过里面的程序用的是Standard ML语言,加了一个奇怪的扩展支持lazy evaluation。

Simon Peyton Jones: book(Implementing functional languages: a tutorial)
实现一门简单的惰性纯函数式语言的详尽教材。

Basic Category Theory for Computer Scientists
Conceptual Mathematics A First Introduction to Categories
教范畴论的我能找到的最简单的书。Erik Meijer在今年可能开设一门范畴论的MOOC,教材采用后一本。(更新:Meijer没开课。。。。)

【文档】

The Haskell 98 Language Report
haskell.org/onlinerepor
GHC Documentation

Haskell目前最新的语言标准是Haskell 2010。但ghc有许多重要的Haskell语言扩展,而ghc又几乎是唯一能在生产环境用的开源Haskell编译器。所以除了参考语言报告以外,掌握ghc的各种扩展和其他细节也十分重要。

【论文】

Wadler: Monads
着重推荐Monads for functional programming这篇。

Simon Peyton Jones: papers
你连SPJ的论文都看不完,还好意思说自己喜欢Haskell?(逃

ReadingList(GHC相关论文列表)
Research papers(Haskell与函数式编程论文列表)

Journal of Functional Programming
Event: ICFP
函数式编程的重量级期刊/会议。

【博客】

Inside 206-105
Bartosz Milewski's Programming Cafe on WordPress.com
Home(Stephen Diehl博客)
School of Haskell
The Comonad.Reader
ocharles.org.uk
Haskell Programming

【库】

Total downloads
Hackage按照下载数排名的包列表。下载数靠前的包社区更常用、靠谱程度更高。

【其他】

Programming Problems and Competitions :: HackerRank (刷题有助于入门)
Welcome to FP Haskell Center(适合Haskell新人练手的云IDE)UPDATE:这个云IDE年底将会关闭。