Standard ML of New Jersey
Version 110.85 NEWS
December 22, 2018

SML/NJ HOME:
https://smlnj.org
FILES:
https://smlnj.org/dist/working/110.85/

Summary:

This release fixes a critical bug in runtime system, as well has including some additional changes to the compiler.

Details:

Installation

While the installer for 110.85 works on macOS 10.14 Mojave, building from source requires some extra steps.

We have added a new Makefile (mk.x86-darwin18) for the runtime system and modified the config/install.sh script to use this makefile when necessary. This new makefile expects that the MacOSX10.13.sdk directory from Xcode 9 has been copied into the Xcode 10 SDKs directory. See the change log for more details.

SML/NJ Library

Added CharBufferPP structure to the pretty-printing library. This module can be used to generate strings from a pretty-printer.

Compiler

A number of changes to internal representations as part of the preparation for supporting 64-bit targets. See the change log for details.

The getPseudo and setPseudo functions were removed from the Unsafe structure, since they were no longer supported by the code generator. We also removed the getpseudo, setpseudo, setmark, and dispose functions from the InlineT structure (these are not visible to user code).

Bugs:

Here is a list of tracked bugs fixed (or closed) with this release, please see the bug tracker for more details.

216run-time system fatal error with large top-level value

Supported systems:

We believe that SML/NJ will build and run on the following systems, but have only tested some of them:

Architecture Operating System Status
Power PC Mac OS X 10.5 (Leopard)
AIX
   
Sparc Solaris
Linux
   
x86 Mac OS X 10.6 (Snow Leopard)
Mac OS X 10.7 (Lion)
Mac OS X 10.8 (Mountain Lion)
Mac OS X 10.9 (Mavericks)
Mac OS X 10.10 (Yosemite)
Mac OS X 10.11 (El Capitan)
macOS 10.12 (Sierra) Tested
macOS 10.13 (High Sierra) Tested
macOS 10.14 (Mojave) Tested (see note below)
Ubuntu 16.04.3 LTS Tested
Other Linux variants
BSD variants
Windows 7
Windows 10 Tested
Cygwin (32-bit) 

Apple is in the process of deprecating 32-bit support in macOS. With macOS 10.14 Mojave, compiling 32-bit applications, such as the SML/NJ runtime system, requires using an older SDK. The SML/NJ installer, however, works without issue on macOS 10.14 Mojave.

We have been working on 64-bit support since 110.82 we expect to have it in place before the release of macOS 10.15.