最近正在学习Scheme,Scheme 是 LISP 的一种方言(或者说是变种),一门非常有趣的语言,语法结构非常简单。最新的Scheme标准定义(R5RS)才50页左右。Scheme设计非常简单,但是功能非常强大。
下面介绍一些Scheme的学习资源,方便查阅。
Scheme 教程
1. Sheme语言修订报告:scheme-r5rs(英文),schem-r5rs(王咏刚翻译的中文版)
2. Structure and Interpretation of Computer Programs
简称: SICP,非常著名的一本书(中译本叫《计算机程序的解释与构造》,由裘宗燕老师翻译的),Scheme 的鼻祖 Gerald Jay Sussman 和计算机教育专家 Hal Abelson 合写的,20 年来影响整个计算机科学教育的著作,著名的 MIT 课程 6.001(计算机科学专业的入门课程) 的教材,全世界有超过100所大学在使用这本书做为教材。
3. 《How to design programs》(中译本《程序设计方法》,好像已经绝版了,我没买到:( )
Scheme 解释器和编译器
Scheme的解释器非常多,而且基本都是自由软件。
我觉得比较好用的是DrScheme(现在改名叫DrRacket了,Fedora仓库中有,叫plt-scheme,但是版本比较老,可以直接从官网上下载最新版本,也有Windows版本),带有图形界面,有语法高亮,调试,单步执行等功能。
Guile,适合做嵌入式解释器,及插件扩展语言,它是 GNU 项目的官方扩展语言,很多开源应用程序中都使 Guile 来编写脚本(比如Emacs,Gimp等)
另外bigloo, Gambit-C 和 Chicken 可以把 Scheme 编译成机器代码,提高执行速度。
Fedora中bigloo和Gambit-C可以直接yum 安装。