新泽西州标准ML
发行说明


版本110.99.4
2023年8月1日


总结

此修补程序版本修复了“遗留”版本中的一些错误属于SML/新泽西

细节

MLRISC公司

修改了零延伸的方式(ZX公司)当源位宽度为小于目标。以前,代码假定高位为零,但如所示第272期,这不保证,所以我们现在屏蔽掉高位。

SML/NJ图书馆

  • 添加了NativeInt公司NativeWord公司要提供的结构别名在签名中引用本机数字类型的可移植方法。

  • 重新实施随机使用梅森捻线器的结构算法。生成器有32位版本和64位版本(包括哪一个取决于目标平台)。

  • 重新编写了用于确定最大哈希表大小的代码(使用在中哈希设置Fn哈希表代表模块),因此它不会依靠国际单位单词.Word大小相同(问题对于MLton)。同时将代码拆分为内部最大哈希表大小模块。

  • 增加了对行尾断言(“$”)的支持,并完全支持到RegExp库中的Thompson引擎的间隔。

安装

补充macOS操作系统14(Sonoma)作为公认的系统。

32位macOS问题

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

漏洞

以下是已修复(或关闭)的问题和请求列表此版本。我们包括使用gforge错误跟踪器

问题 描述 Gforge虫子

87

ml-依赖出错时丢弃依赖项文件

71

256

初始编号由生成实用程序/random.sml有出乎意料的规律

不适用。

258

汤普森NFA正则表达式引擎在匹配时不会提前流位置

不适用。

260

在32位系统上,64位字文本被错误解析

不适用。

264

修复矢量切片.all数组切片.all

不适用。

266

配置:恢复10.4和10.6的PPC

不适用。

267

更新生成文件

不适用。

272

通过NLFFI绑定调用C函数可能会导致结果超出其C返回类型的范围

不适用。

278

字符缓冲区.addSlice无法正确处理起始偏移

不适用。

279

HashSetFn对`maxSize的计算可能导致溢流在函子实例化期间

不适用。

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

  • 这个ULex缓冲区.getu函数未处理某些中的4字节UTF-8序列情况。

  • 这个ULex缓冲区.getu函数没有拒绝代理的一半或太大代码点。

支持的系统

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

建筑 操作系统 状态

AMD64型

免费BSD 12.0

macOS 10.14(莫哈韦)

已测试

macOS 10.15(卡特琳娜)

已测试

macOS 11(大苏尔)

已测试

macOS 12(蒙特雷)

已测试

macOS 13(文丘拉)

已测试

macOS 14(Sonoma测试版)

已测试

Ubuntu 20.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位)