我已經瀏覽過的許多Haskell教程幾乎完全集中在幾乎完全沒有涵蓋如何構造程序的語法上。Haskell程序的基本結構
例如...
這裏有一個C的一個最基本的輪廓++應用程序:
#include <iostream>
using namespace std;
int addition (int a, int b)
{
int r;
r=a+b;
return (r);
}
int main()
{
int z;
z = addition (5,3);
cout << "The result is " << z;
return 0;
}
當我第一次開始學習C++,像這樣的例子讓我非常學習如何組裝個人件進工作方案。也許我正在尋找錯誤的地方,但是我一直無法找到任何對Haskell來說都很直接和簡單的例子。
我已經知道很多Haskell語法。我可以編寫遞歸列表解析,並操縱字符串,整數和列出wazoo。
總之:我只想知道兩個子例程和變量傳遞在Haskell中看起來是什麼樣子。如果我能夠對如何構建Haskell程序有一些基本的瞭解,那麼我最終可以將我學到的所有語法都用到某種用途上。
我會從像http://www.haskell.org/haskellwiki/Haskell_in_5_steps這樣的地方開始學習Clojure。不過,我確實有O'Reilly Haskell的書,而這本書 - http://www.nostarch.com/lyah.htm - 似乎正在得到很多好評。 – octopusgrabbus 2012-02-05 22:20:37
雖然這是一個合理的問題,但請允許我建議您接近Haskell有一點錯誤。 Haskell儘可能強調純函數,大多數Haskell實現提供了一個REPL(讀 - 評估 - 打印循環),您可以在其中定義函數。我強烈建議,不要製作打印到stdout的小程序,只需編寫函數並在ghci中使用它們播放。我想你會發現學習Haskell更加靈活和有趣。 – 2012-02-05 23:21:36
@DanBurton我可能花了上個月閱讀語法,並在ghci中使用函數和列表解析。我準備好現在製作一個節目。 (:D你說得對,因爲我一直在接近Haskell的錯誤,我試圖將過程式編程原則應用於函數式編程語言,我仍然試圖圍繞如何將一堆函數轉化爲某些東西它可以做的不只是運行一次並停止,我會繼續閱讀 – 2012-02-06 00:31:22