新泽西州标准ML
发布说明


110.99版
2020年12月24日


总结

此版本主要是一个带有一些附加运行时系统的错误修复版本更改以帮助准备计划的切换到使用有限责任公司后端这个AMD64型目标。

版本110.98.1是一个补丁版本,解决了一些漂亮的打印回归问题110.98年引入。包含这些修复的发行说明在这里。

还要注意,此版本是最后一个110系列发布。我们正在切换我们的版本编号方案<年份><relnum>,所以下一个释放将是2021.1.

细节

编译器

用于存储编译代码的二进制文件格式已经简化通过消除对文件中多个代码对象的支持(该功能多年未使用)。我们还更改了用于标识bin文件的“魔术字符串”。

运行时系统

引导加载程序已更新为使用新的二进制文件格式代码。

使用的堆栈框架的布局SML公司代码更改为与使用的寄存器溢出约定兼容有限责任公司.具体来说,溢出区域现在位于框架的顶部(,在堆栈指针和堆栈分配状态位于帧的底部。

SML/NJ图书馆

对精美印刷库进行了一些改进。这个PP_设备签名扩展了许多附加的属性(最大缩进、最大深度、椭圆…​), 作为设置设备属性的函数。漂亮的打印机引擎已更新为使用最大深度和最大缩进属性。

一种新的设备模块(CharBufferDev(字符缓冲开发))已添加。这是一个设备用于漂亮地打印到字符缓冲区,并且是设备结构这是CharBufferPP(字符缓冲PP)结构。

ML-LPT公司

更改了返回的跨度的语义ml-ulex公司因此跨度的第二个分量是最右边字符的位置在标记中(而不是标记后面的字符)。具体来说,span \((p_1,p_2)\)指定\以字符开头的(p_2-p_1+1)个字符位置\(p_1\)并运行到\(p_2\)(含)。

32位macOS问题

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

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

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

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

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

并继续构建。

漏洞

以下是自110.98(包括那些打补丁的110.98.1). 请参阅错误追踪系统了解更多详细信息。

254

来自LargeInt的实际值产生负面结果

266

漂亮的打印回归SML/新泽西110.98

267

返回错误的计算结果位置.int用于32位模式。

268

多态型漂亮印刷回归

269

文字64.fromString导致溢流大于232-1

271

结构绑定的漂亮打印机回归

274

打印结构规格时出现小的漂亮打印错误

276

REPL中缺少控制额外换行的选项

277

漂亮打印模块签名时出现多余的空白

支持的系统

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

建筑 操作系统 状态

AMD64型

免费BSD 12.0

已测试

macOS 10.14(莫哈韦)

已测试

macOS 10.15(卡特琳娜)

已测试

Ubuntu 16.04.3 LTS

已测试

Ubuntu 18.04.3 LTS

已测试

 

电源PC

Mac OS X 10.5(Leopard)

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位)