新泽西州标准ML
发行说明


110.98版
2020年7月16日


总结

此版本对文档进行了重大改进(该SML/NJ图书馆现在大多有文档记录)以及许多小型SML/NJ图书馆,各种系统其他部分的改进和错误修复。

未来计划

我们正在重新编写编译器的后端,以准备从我们当前的MLRISC公司代码生成器到one-based有限责任公司。随着迁移,我们预计将不再支持x86-64码(又名amd64型),但我们计划添加对臂64(又名A拱64).

如果您是的用户SML/新泽西斯巴达克,PowerPC公司,或32位x86处理器希望继续支持该系统,请联系我们。

细节

编译器

制造了Lambda变量.lvar类型摘要。这是一个内部变化这不应该影响编译器的行为。

我们已经启动了一个项目,将SML/NJ的后端迁移到使用这个有限责任公司用于代码生成的基础结构。为这次迁移做好准备,我们已经做了一些对编译器内部的更改:

  • 支持映射三角函数,余弦、和棕褐色的上的硬件说明x86处理器体系结构已被删除。进行此更改是为了简化代码生成器迁移到新的有限责任公司后端。

  • 这个表面活性剂操作员div公司国防部有一个地板舍入语义而不是截断硬件支持的语义。以前,我们依靠MLRISC公司处理这些运算符的实现,但我们现在在一个新的降低通道中做到了这一点。我们还添加了优化for when第二个参数div公司国防部是二的幂这个CPS公司收缩阶段。

  • 下降的通道也降低了捕获转换(CPS公司primops公司测试测试装置)因此,它们只涉及以下转换可以使用补漏白添加操作进行检查。

MLRISC公司

这个MLRISC公司的指令选择器x86处理器amd64型目标错误地认为伊迪夫指令设置第页,共页(溢出)最大负数除以时的条件代码~1.事实上,这样的除法操作陷阱,这没关系,因为运行时系统将陷阱映射到溢流例外。自从没有必要检查溢出,它已从文件中删除MLRISC/amd64/mltree/amd64-gen.smlMLRISC/x86/mltree/x86.sml.

基础库

本版本实施了以下基础库提案:

[2020-001]

Basis Library提案2020-001(添加通用模块) — 本提案增加了通用在中找到的结构聚乙烯/ML基础库。

SML/NJ图书馆

这个SML/NJ图书馆现在大部分记录在案;看见doc/html/smlnj-lib/index.html在分发或联机文档.

这个HTML开发漂亮印刷图书馆的结构(美元/磅/厘米)有已重命名为HTML3版本搬进了自己的图书馆(pp-提取物-lib.cm).重命名是为了将HTML库重命名为“HTML3”并且将其移到自己的库中会从编译器中删除依赖项$/html-lib.cm.

有很多小的改进(以及一些错误修复)的部分SML/NJ图书馆; 请参阅smlnj-lib/更改文件以获取详细信息。

ML-LPT公司

更改了的语义--调试命令行选项ml-自动.以前,此选项将操作替换为打印表达式,但由于生成的代码中存在类型错误,限制了它的实用性。新的行为是保留现有操作,只添加打印代码。

文档

此版本包含大量用于SML/NJ图书馆(请参见文档/html/smlnj-lib). 虽然文档是不完整,它确实涵盖了最常用的组件(精美印刷库除外)。

安装

报告“`x86_64`”为其硬件现在是64位。有关详细信息,请参阅安装说明细节。

32位macOS问题

x86安装程序110.98工程macO公司10.14莫哈韦,从源头建设需要一些额外的步骤,因为X代码为Mojave分发的不包括32位SDK。

您可能会遇到的另一个问题构建时macO公司10.14 Mojave是shell的错误消息表单脚本

/bin/sh:解释器错误:不允许操作

出现此错误的原因是com.苹果.检疫属性设置在shell脚本。要解决此问题,请使用命令删除属性

xattr-d com.apple.quantification外壳脚本

并继续构建。

漏洞

以下是此版本修复(或关闭)的跟踪错误列表,请参阅错误追踪系统了解更多详细信息。

238

交叉编译自amd64型x86处理器不起作用

256

参考交换不正确的

257

HASH_表 listItems(列表项)参考手册中的错误

260

对执行除法位置.int在Linux上与FPE崩溃

261

打印出奇怪的“calc_strictness”消息

262

JSON解析器在空对象上失败

263

JSON解析器忽略后缀

支持的系统

我们相信SML/NJ将在以下系统上构建和运行,但只有测试了其中一些:

建筑 操作系统 状态

AMD64型

免费BSD 12.0

已测试

macOS 10.14(莫哈韦)

已测试

macOS 10.15(卡塔琳娜)

已测试

macOS 11.0(大苏尔)

已测试

Ubuntu 16.04.3 LTS

已测试

Ubuntu 18.04.3 LTS

已测试

 

电源PC

Mac OS X 10.5(豹)

AIX(AIX)

 

斯巴达克

Solaris公司

Linux操作系统

 

x86(32位)

Mac OS X 10.6(雪豹)

Mac OS X 10.7(狮子)

Mac OS X 10.8(山狮)

Mac OS X 10.9(小牛队)

Mac OS X 10.10(约塞米蒂)

Mac OS X 10.11(El Capitan)

macOS 10.12(塞拉利昂)

已测试

macOS 10.13(高塞拉)

已测试

macOS 10.14(莫哈韦)

已测试

Ubuntu 16.04.3 LTS

已测试

其他Linux变体

免费BSD 12.0

已测试

其他BSD变体

Windows 7

Windows 10

Cygwin(32位)