PRE:Write Yourself a Scheme in 48 Hours是我觉得比较好的教程之一,我想翻译它,借此留下我学习的痕迹,并能够与大家交流,希望大家指正。
-------------------------------------------------------------------------------------------
1 、概论
大多数网络上的 Haskell 教程看起来用一种语言参考手册的方式去教学。它们告诉你语言的语法,一些语言构造,然后让你在交互式提示 (interactive prompt) 前写一些简单的函数。那些如何写一个函数式的,有用的程序的“硬石头”给留在了最后面,甚至有时候被完全忽略了。
这个教程将用一种不同的方式。你会从处理和解析命令行参数,写一个完全函数式的 Scheme 解释器开始。这个解释器将实现大部分 R5RS Scheme 。一路上,你将学习 Haskell 的 I/O ,可变的状态,动态类型,错误处理以及解析的各种特征。当你完成这个教程的时候,你应该对 Haskell 和 Scheme 相当熟练了:)
这个教程主要面向两大读者群:
-
那些已经知道 Lisp 或 Scheme 而且想要学习 Haskell 的人
-
那些不懂任何编程语言,但是有大量背景知识并且对计算机非常熟悉的人
第二种读者会发现这个教程很有挑战性,因为我为了集中注意力在 Haskell 上掩藏了很多 Scheme 和一些编程的概念。一些好的图书像 SICP 或者 The Little Schemer 会对这里非常有帮助。
那些使用像 C, Java, Python 的面向过程或面向对象语言的用户需要注意了:你们要忘掉大多数你已经知道的编程知识。 Haskell 完全不同于上述的语言,并且需要一种不懂的方式来思考编程。最好用一种空白的状态来投入这个教程并且不要尝试将 Haskell 同命令式语言进行比较,因为大多数命令式语言中的概念 (classes, functions, 'return') 在 Haskell 有完全不同的含义。
因为每一课都建立在之前完成的代码的基础上,所以最好按顺序学习这些课。
这个教程假定你用 GHC 作为你的 Haskell 编译器。你或许能用 Hugs ,但这完全没有被测试过,可能你需要下载一些附加的库。