Scheme语言简明教程
译者:songjinghe
译:Teach Yourself Scheme in Fixnum Days
View On GitHub | 下载中文翻译ZIP | 英文原文online | 反馈问题
这是一本在国外比较有名的Scheme编程语言的入门教材。本教材适合任何对Scheme编程语言感兴趣的人阅读,尤其是有其他编程语言(特别是动态语言)编程经验,希望快速了解Scheme的不同点并且快速上手写点东西的人。然而希望系统学习Scheme编程的学生仍然是本文的读者之一。
该教程中的大部分内容都能在常见的Scheme入门教材中找到,本教材中比较有特色的是关于continuation
和call/cc
的内容,这也是Scheme的一大特点。第十三章很详细的讲解了continuation
和call/cc
,十四十五章是它们的应用。然而由于本人理解不够深入,这部分(其实整个文章都是)翻译得不堪卒读,所以有问题请对照英文原文理解,也欢迎大家的反馈!
2009年的时候heros翻译了这篇文章的一部分(至第六章未完)。2010年的时候lispor写了一份本教程的读书笔记。2012年的时候又有人试图翻译这篇文章。不过后来貌似没有下文。Scheme的R5RS规范已经在2004年被译成了中文,而这篇实践性比较强的文章却没有完整的中文译版。所以自己翻译了一份(前六章基本是用的hero的版本),本人也是第一次接触Scheme,水平有限,大家多多包涵。
目 录
- 【译者】关于本文
- 前言
- 第一章:进入Scheme
- 第二章:数据结构
- 第三章:代码结构
- 第四章:条件语句
- 第五章:词法变量
- 第六章:递归
- 第七章:输入输出
- 第八章:宏
- 第九章:结构
- 第十章:关联列表和表格
- 第十一章:系统接口
- 第十二章:对象和类
- 第十三章:跳转
- 第十四章:不确定性
- 第十五章:引擎
- 第十六章:命令行脚本
- 第十七章:CGI脚本
- 附录 A:Scheme方言
- 附录 B:DOS批处理
- 附录 C:数值运算
- 附录 D:可设为infinity的时钟
- 附录 E:参考文献
- 附录 F:索引
- 无关的:论Java语言符号表设计时的一些问题
许可(License)
本译文的发布遵循与英文原文相同的LICENSE(即 GNU Lesser General Public License)。如有问题,请联系我。
This translated version is published under the same license(viz, the LGPL license) of the orginal english version. If you have any question, please contact me.