单子之后学习Haskell的下一步是什么? [英] What's the next step to learning Haskell after monads?
问题描述
这里有一个在获得monad之后,我发现了一些有用的资源:
- 正如SuperBloup指出的那样,Brent Yorgey的 Typeclassopedia 是必不可少的(事实上它包含箭头)。 >
- 在真实世界哈斯克尔中有很多很棒的东西,可以被视为之后monad:例如,应用性解析,monad变换器和STM。 John Hughes的将单子推广到箭头是一个很好的资源,它教给我的单子和它有关的箭头一样多(尽管我认为我已经理解了monads en我读过它)。
- Yampa Arcade是一篇功能反应式编程的好介绍。
- 在类型系列上:他们比阅读他们更容易。 向量空间包是一个开始的地方,或者您可以查看代码Oleg Kiselyov和Ken Shan的关于Haskell和自然语言语义的课程。
- 选择Chris Okasaki的 Purely Functional Data Structures 并详细介绍它们。
- Raymond Smullyan的模仿一只模仿鸟是一个非常容易理解的组合逻辑的介绍,它将改变您编写Haskell的方式。 阅读GérardHuet的拉链上的功能性珍珠。代码是OCaml,但是在处理像这样的文件时,能够将OCaml翻译成Haskell是有用的(也不是太困难)。
最重要的是,深入了解您使用的任何Hackage库的代码。如果他们正在做某些你不明白的语法或成语或扩展名,请查看它。
I've been gradually learning Haskell, and even feel like I've got a hang of monads. However, there's still a lot of more exotic stuff that I barely understand, like Arrows, Applicative, etc. Although I'm picking up bits and pieces from Haskell code I've seen, it would be good to find a tutorial that really explains them wholly. (There seem to be dozens of tutorials on monads.. but everything seems to finish straight after that!)
Here are a few of the resources that I've found useful after "getting the hang of" monads:
- As SuperBloup noted, Brent Yorgey's Typeclassopedia is indispensable (and it does in fact cover arrows).
- There's a ton of great stuff in Real World Haskell that could be considered "after monads": applicative parsing, monad transformers, and STM, for example.
- John Hughes's "Generalizing Monads to Arrows" is a great resource that taught me as much about monads as it did about arrows (even though I thought that I already understood monads when I read it).
- The "Yampa Arcade" paper is a good introduction to Functional Reactive Programming.
- On type families: I've found working with them easier than reading about them. The vector-space package is one place to start, or you could look at the code from Oleg Kiselyov and Ken Shan's course on Haskell and natural language semantics.
- Pick a couple of chapters of Chris Okasaki's Purely Functional Data Structures and work through them in detail.
- Raymond Smullyan's To Mock a Mockingbird is a fantastically accessible introduction to combinatory logic that will change the way you write Haskell.
- Read Gérard Huet's Functional Pearl on zippers. The code is OCaml, but it's useful (and not too difficult) to be able to translate OCaml to Haskell in your head when working through papers like this.
Most importantly, dig into the code of any Hackage libraries you find yourself using. If they're doing something with syntax or idioms or extensions that you don't understand, look it up.
这篇关于单子之后学习Haskell的下一步是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!