标准ML’97


标准ML1983年提出,从84年到88年设计,并在中定义定义标准ML(米尔纳,托夫特,哈珀,麻省理工出版社,1990年),用一个评论米尔纳和托夫特(MIT出版社,1990年)。

标准ML'97是对语言进行适度修改(和简化),定义于标准ML的定义(修订版)(米尔纳,托夫特,哈珀,麦奎因,麻省理工出版社,1997).

修改后的语言名称仍然是“Standard ML”,但我们也将其称为“Standard ML’97”或“SML’97”以区分从1990年的版本,可以称为“SML'90”。

同时,新的 SML基础库已添加到语言的规范。新的基础库旨在支持广泛的系统和应用程序编程:它指定提供基本类型的预定义模块的广泛集合,输入/输出设施,以及与以便携方式承载操作系统。

下面是SML’97语言变化的重点。有关更改的更多详细信息,以及如何转换的建议要在SML'97下运行的SML'90代码,请参阅SML’97转换指南.

主要语言发生变化97年SML是:

文档

A类SML’97转换指南涵盖了从SML/NJ 0.93至SML’97(SML/NJ110)。一个有用的转换辅助工具是顶级环境比较,它总结了SML/NJ 0.93(这是一些旧教科书假定的)和新SML'97(SML/NJ 110)顶级。完整的文档 基础库在线提供。

教科书

以下新版本的ML编程教科书描述了SML'97。

启动位置

新泽西州标准ML
SML/NJ版本110并在以后实现SML'97加上一些额外的功能(向量表达式和模式、OR模式、,签名中有类型,高阶模块)。
莫斯科ML
基于Caml Special Light代码的实现。模块系统提供了一些额外的功能(高阶模块、,一级结构、递归模块)。
ML套件
ML Kit实现了SML'97并使用区域分析进行内存管理层。模块系统使用一个名为“静态解释”。
MLton公司
SML'97的全程序编译器。
PolyML公司
版本4和更高版本实现SML'97。

|SML/NJ主页|

将您的评论发送到
版权所有©1998,朗讯科技;贝尔实验室.