新泽西州标准ML
110.81版新闻
2017年5月1日

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

总结:

这次发布有一些相当可观的内容引擎罩内对编译器的更改清理前端和FLINT之间的接口,并更改编译器和运行时系统为64位支持奠定了基础。该版本还包含一些错误修复和添加额外支持继任者ML,这是标准ML语言的演变。

细节:

继任者ML:

110.81版本增加了对继任者ML句法扩展。现在可以在表达式(以及模式)中使用记录运行语法;例如,您可以编写以下函数定义

乐趣fx={x}

相当于

乐趣f x={x=x}

我们增加了对中的语法绑定。

我们也改变了继任者ML从REPL启用功能。而不是分配真的控制.succML变量,应该使用功能控制设置成功ML用于启用或禁用继任者ML(,传递参数真的以启用继任者ML功能)。

编译器

此版本消除了对前端FLINT类型的依赖性结束。特别是Plambda类型已被淘汰。

SML/NJ图书馆:

添加了JSONUtil公司模块到JSON格式库。此模块提供用于解构和编辑树(阿卡DOM)表示JSON文件。

ml-lpt(百万磅)

补充--调试命令行选项ml-自动.此标志导致ml-自动生成打印的调试操作生产的左侧非终结符。

补充%标记类型指示ml-自动,这允许用于表示标记的用户定义数据类型。

MLRISC公司:

将接口更改为AMD64发电机; 这个符号位否定符号位回调函数现在返回一个MLTree.rexp(MLTree.rexp)(而不是标签)。

漏洞:

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

129允许将符号标识符作为strid
149数据类型复制公开隐藏的构造函数
153启用Successor ML功能被延迟
175Linux上的可执行堆栈
179ml-ulex将调试消息写入stdOut

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

支持的系统:

我们已经验证了系统在以下系统上构建和运行。

建筑 操作系统
PowerPC公司 Mac OS X 10.5(豹)
   
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(塞拉利昂)
Ubuntu 14.04.3(GNU/Linux 3.13.0)
Windows 7
Windows 10
Cygwin(在Windows 7或10上托管)

我们相信它可以在任何支持32位的最新Linux发行版上运行可执行文件,以及在BSD变体、SPARC/Solaris和PPC/AIX上,但我们没有测试了这些系统。