新泽西州标准ML
110.82版新闻
2017年10月16日

SML/NJ主页:
http://www.smlnj.org/index.html
文件夹:
http://smlnj.cs.uchicago.edu/dist/working/10.82/

总结:

这个版本继续向64位支持进军(看起来是一个漫长的过程)。为了支持32位和64位目标,以及一些错误修复。它还增加了对macOS操作系统10.13(High Sierra)。

细节:

编译器

合理化了Absyn和FLINT中原始运算符的处理,并删除了未使用的基本运算符。这些更改影响了pickle格式,这意味着--重建生成时必须使用选项源代码中的编译器。

补充目标结构到基础;这个模块指定目标的属性,例如ML值的大小和默认值的大小整数类型。

改变了内联T结构是定义为对目标敏感。例如,在32位目标上将是一个内联T.i31添加用于添加的函数默认值整数类型,而在64位目标上,相应的功能将是内联T.i63添加.

恢复了110.80之前的shell命令行为sml foo.sml文件编译时出错时返回非零退出状态foo.sml文件(错误号183)。

运行时系统

更改了在次要GC中测试分配空间地址的方式。我们现在不使用BIBOP,而是进行指针范围测试;这个变化在32位机器上产生了较小的加速,但我们期望有更大的好处在64位机器上,使用2级BIBOP。

为64位目标做准备的各种更改,包括添加2级BIBOP实施和拆分联合税。小时到32位(联合税。小时)和64位(语法64.h)版本。

漏洞:

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

123缺少顶层非austive绑定的警告。
183sml REPL返回的状态代码。
185使命令行帮助文本与手册页相同。

还修复了以下未编号的错误:

支持的系统:

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

建筑 操作系统 状态
电源PC Mac OS X 10.5(豹)
AIX(AIX)
   
斯巴达克 Solaris公司
Linux操作系统
   
x86(x86) 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(高塞拉) 已测试
Ubuntu 14.04.3(GNU/Linux 3.13.0) 已测试
其他Linux变体
BSD变体
Windows 7
Windows 10 已测试
Cygwin(在Windows 7或10上托管)