Scheme是一种Lisp方言程序设计语言,由Guy Lewis Steele Jr. 和 Gerald Jay Sussman 发明。它以简洁的语法和清晰的语义为设计目标,并引入了静态作用域和严格尾递归等特性。Scheme语言支持多种编程范式,包括命令式、函数式和面向对象的消息传递等。学习Scheme语言,可以追溯到其经典的标准文档R5RS(Revised^5 Report on the Algorithmic Language Scheme),这是一份详细描述该语言的定义性报告。 R5RS文档包含多个部分,旨在全面介绍Scheme语言的核心概念。文档首先概述了Scheme的历史发展和语言的基本概念。在这部分中,提到了语言的语义、语法和所使用的记法以及术语。接着,文档进入了词法约定部分,详细说明了Scheme语言中标识符的规则、空白和注释的使用以及其他记法约定。在这之后,文档深入介绍Scheme的基本概念,包括了变量、数据类型、控制结构以及库的使用等。 关于表达式、程序和定义,文档的第4和第5章进行了详尽的解释,涵盖了它们的语法和语义。作为Lisp语言的分支,Scheme同样重视代码即数据的理念,它的表达式可以嵌套和组合以形成复杂的程序结构。第6章专注于Scheme的内置过程,描述了包括算术运算、字符串处理、列表操作以及输入输出操作等在内的所有基本操作。此外,文档使用扩展BNF(巴科斯-诺尔范式)来提供Scheme语言的形式语法定义,并定义了形式指称语义。文档还包括了使用Scheme语言编写程序的示例,以及参考文献列表和索引,这些内容帮助读者更好地理解文档的各个部分,并且方便了他们对特定话题的探索。 文档翻译者王咏刚在2004年翻译了R5RS文档,尽管他自认为对Scheme了解有限,但这份翻译工作对于中国函数式编程社区而言是十分宝贵的。在翻译过程中,王咏刚不断收到来自北京大学裘宗燕教授的宝贵意见,这些意见大量地被采纳进翻译稿中。裘教授对于推动函数式编程和Scheme语言在中国的普及有着重要的贡献。 除了中文的翻译工作之外,还有日文版的R5RS译本出现较早,且存在不止一个不同的译本。这些早期的译本在一定程度上反映了Scheme语言和相关学术资料的国际交流情况。 在学习Scheme R5RS时,开发者可以从这份经典的文档入手,获得坚实的基础知识。之后,探索R6RS(Revised^6 Report on the Algorithmic Language Scheme)也是值得推荐的,因为随着时间的推移,很多现代Scheme解释器都在R5RS的基础上进行了扩展和改进,R6RS则反映了这些新的变化和发展。 由于R5RS文档是在2004年翻译的,因此所提供的信息可能不包括最新的Scheme发展。不过,作为Scheme语言早期的标准,R5RS为后来的发展奠定了基础,了解它对于掌握现代Scheme编程语言依然十分重要。
剩余47页未读,继续阅读
- 粉丝: 1
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助