SML/NJ 110.85 Release Notes

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

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

### Summary:

This release fixes a critical bug in the 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.

216 | run-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.