我已经浏览过的许多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