Beginners Guide to Haskell?

I've been looking for a decent guide to Haskell for some time, but haven't been able to find one that seems interesting enough to read through and/or makes sense.

I've had prior exposure to Haskell a few years back, but I can't remember much about it. I remember the "Aha!"-feeling was incredible when I finally got it, and it was actually fun to play with, so I'm looking to rediscover the lost art of Haskell.

I'm familiar with Ruby and its functional programming tricks, so I think I'm not completely in the dark. Any links?

21974 次浏览

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

一些好的开始是:

其他资源:

一旦你通过了初始阶段,我强烈推荐阅读 Real World Haskell

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

哈斯克尔的味道

It's a three-hour tutorial, that uses Xmonad as a running example to explain Haskell to experienced (imperative) programmers. 这个演讲是由 Simon Peyton-Jones 做的,他不仅是 Haskell 的顶级设计师之一,也是一个伟大的演讲者。

Haskell wikibook ,其中包括来自伟大教程 Yet Another Haskell Tutorial的文本。

(“ GenericHaskell 用户指南”是一篇很好的论文,但我认为对于一个初学 Haskell 的程序员来说,这是一个特别糟糕的建议,因为它更像是一篇学术论文,提出了对 Haskell 的扩展,基本上是一种不同的语言“ GenericHaskell”(即 Haskell 与老版本的泛型) ,而不是标准的 Haskell 98。< 讽刺 > 如果你想深入了解 Haskell,从 Haskell 98报告开始。)

Haskell 的一个独特之处在于,它有一个专门为初学者准备的邮件列表。转到 Haskell-初学者

读书是件好事,但是有一些人可以询问也总是一个很好的资源。总之,我认为绝对没有理由说“ Haskell 很难学,因为没有相关的材料。”

你也可以去 irc.freenode.net 看看 # haskell。

另一个 Haskell 教程 (PDF)对我很有用。

编辑: 厄普代克指出,YAHT 的文本已经折叠成哈克塞尔 维基百科。如果你(像我一样)喜欢打印出来并在纸上阅读,PDF 仍然是有用的。

BTW I have also read Haskell 简介 (also available as PDF). I will definitely 没有 recommend this for beginners. It is only gentle compared to the Haskell Report. However it is a good reference when you have a solid understanding of the language.

这看起来很符合《为什么是辛辣的 Ruby 指南》的风格。

学会一个好的 Haskell!

I have downloaded 10 slides from this page http://www.cs.nott.ac.uk/~gmh/book.html and going through it for 很多 times. It workz ;)

奇怪的是没有人建议 真实世界 Haskell。恕我直言,这是你目前能得到的最好的 Haskell 书籍,你可以在线或离线阅读。

除了“ 真实世界 Haskell”,找一本“ 函数式编程技巧”。伟大的教科书。

我喜欢 C 程序员 Haskell 教程,特别是如果你像我一样有命令式语言背景的话。

一个相当晚的反应,但我完全享受阅读从 向你学习 Haskell可在线以及一本书。

还有一个很好的讲座系列从 RWTH Achen。

I got all of this info from the Haskell Wiki's 视频演示页面.