这几天来,我一直在思考Haskell中的函数式编程范例。我通过阅读教程和观看视频来做到这一点,但似乎没有什么能真正坚持下来。 现在,在学习各种命令式/面向对象语言(如C、Java、PHP)时,练习对我来说是一种很好的方式。但是因为我不知道Haskell有什么能力,而且有很多新概念可以利用,所以我不知道从哪里开始。

你是怎么学会哈斯克尔的?是什么让你真正“打破僵局”的?还有,开始练习有什么好主意吗?


当前回答

我建议你首先从阅读BONUS教程开始,然后阅读Real World Haskell(在线免费)。加入#Haskell IRC频道,在irc.freenode.com上,并提出问题。这些人对新手都很友好,而且在过去的时间里帮了我很多。此外,在这里,在SO是一个伟大的地方,以获得帮助,你不能掌握的东西!试着不要气馁,一旦成功,你的想法就会被震撼。

奖金'教程将为您准备,并让您为真实世界哈斯克尔带来的惊险刺激做好准备。祝你好运!

其他回答

这些是我最喜欢的

Haskell:类型函数式编程

Joeri van Eekelen, et al. | Wikibooks
       Published in 2012, 597 pages

真实世界Haskell

   B. O'Sullivan, J. Goerzen, D. Stewart | OReilly Media, Inc.
   Published in 2008, 710 pages

试着用它写一些简单的程序。

你可能可以在各种教科书中找到一些示例任务。

我不建议坚持Haskell/FP教科书,只是尝试用它做一些简单的事情:计算,字符串操作,文件访问。

在我解决了一打之后,我打破了僵局:)

在此之后,阅读大量高级概念(单子,箭头,IO,递归数据结构),因为haskell是无限的,而且它们有很多。

我还可以推荐另一个Haskell教程作为介绍。

另一个很好的学习资源(可能在中级水平上),它对我帮助很大,据我所知,在其他答案中没有提到,是Brent Yorgey的Typeclassopedia,可以在Monad Reader(第13期)中找到

它以一种非常容易理解的风格编写,并包含(除许多其他内容外)以下介绍性建议:

Haskell专家的智慧有两个关键: 了解类型。 获得对每个类型类及其与其他类型类之间关系的深刻直觉 类型类,通过熟悉许多示例来支持。

Monad Reader本身对于函数式程序员(不仅仅是Haskell程序员)来说是一个绝对的宝藏。

我的一些同事有很好的学习Haskell的经验!

教程针对的人谁有 命令式编程经验 语言,但还没有编程 函数式语言之前。

在这里也检查一下答案

第一个答案很好。为了达到专家级别,你应该和一些专家一起读博士学位。

我建议您访问Haskell页面:http://haskell.org。这里有很多材料,还有很多Haskell中最新的东西的引用,这些都是Haskell社区批准的。