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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLO算法-挖掘机与火焰数据集-1208张图像带标签-挖掘机-人-汽车.zip
- YOLO算法-森林火灾数据集-2860张图像带标签-不起火-火.zip
- YOLO算法-咖啡果实数据集数据集-1045张图像带标签-半熟-成熟的-未成熟-过熟.zip
- YOLO算法-刀具数据集数据集-2113张图像带标签-刀-人-打孔-武器持有.zip
- YOLO算法-监控数据集-873张图像带标签-警方-警车-救护车-消防车-跌倒的人-消防员.zip
- YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip
- YOLO算法-黑木楼梯数据集-1007张图像带标签-黑色木楼梯.zip
- YOLO算法-木楼梯数据集-1263张图像带标签-木楼梯.zip
- YOLO算法-刀具数据集数据集-1911张图像带标签-刀-人-打孔-武器持有.zip
- YOLO算法-皮球架子仓桶检测数据集-1170张图像带标签--筒仓.zip
- YOLO算法-刀具检测数据集-1464张图像带标签-刀.zip
- YOLO算法-火灾和人员探测数据集-850张图像带标签-人-烟-火.zip
- YOLO算法-工作场所安全隐患数据集-859张图像带标签-倒下的工人-配备个人防护装备的工人-无个人防护装备的工人-火.zip
- YOLO算法-咖啡豆检测数据集-511张图像带标签-幼稚-成熟成熟-半成熟-过熟.zip
- YOLO算法-汽车高度数据集-665张图像带标签-汽车.zip
- YOLO算法-救护车救护员数据数据集-624张图像带标签-.zip