怎樣學習 haskell 效率比較高?


簡單的說,智商高就效率高,我這樣的就效率低ˊ_&>ˋ


StackOverflow 上這個回答很好,可以借鑒一下

http://stackoverflow.com/a/1016986/196136


等你學會用一些高大上的hackage寫一些靠譜的程序之後,我推薦你閱讀《The Implementation of Functional Programming Languages》。這是我院simon大神寫的,深入淺出,感人肺腑,入木三分。


如果英語還湊活就來看看我校的Haskell課視頻,前面大概三分之一講Haskell的基本使用,後面是實現Haskell的相關理論。也就是說只要你能上完這個課,就具備了寫一個Haskell編譯器需要的理論基礎。

其他幾個回答提到的大部分經典學習資料我之前看過,容易上手,不過進階速度比較慢,如果題主覺得能入門了可以看看這門課。

https://videoag.fsmpi.rwth-aachen.de/?course=12ss-funkprog


效率比較高? 這個是相對來說的吧,看你想學到什麼程度想學來幹啥。在豆瓣上看過有很詳細的討論,建議你去看看。

個人覺得學習的過程都是近似的,學習每種語言都是相似的。

先看入門的書像是learn you a good haskell , yaht再到real world haskell啥的

然後把predule 之類的源碼仔細研究下,找點開源的項目自己敲一遍

然後就可以看看進階的像是SICP什麼的


我是一個有三年工作經驗(C++/Java/Python)的程序員,有些函數式語言編程(Scheme)基礎,粗略看了下Real World Haskell。有以下幾個問題,

1. 冗餘介紹,大篇大篇的冗餘介紹Haskell的各種特性,而我實際上想了解的是Haskell的幾個關鍵概念,如Monad, Lazy Eval等(可能有的不知道);

2. 因為平時時間較少,看這部大塊頭的書基本上是不可能做到每個頁面都細緻地去看的,而對於技術書籍,我希望的是能夠以較短的篇幅,介紹下關鍵概念,然後有些配套的練習來加深這些概念的了解;如果跳看這部大塊頭的話,很有可能把關鍵點和冗餘地一併跳過;

3. 最後一點,有沒有針對熟練程序員,介紹haskell關鍵特性的書籍,最好短小精悍,能夠經得起推敲,整個教程最好不超過100頁。


haskell裡面有個不錯的兄弟在.Net,叫F#,你可以從他開始學起,語法很像。。


推薦閱讀:

如何評價最新推出的 Glasgow Haskell Compiler (GHC) 8.0.1 版本?
haskell中的immutable array是如何實現隨機訪問的?
如何評價即將正式 release 的 GHC 8.2.1 ?
OCaml在寫編譯器上比Haskell好在哪?為何Rust第一個版本採用了OCaml?
如何評價eta-lang?

TAG:編程語言 | Haskell |