Summary
This release fixes a number of bugs,
Details
Compiler
-
Fixed several bugs (including Issues #340 and #341) in the contraction of numeric conversions. Also added some missing fusion rules for conversions via the
IntInf.int
type. -
Moved the support for word/real bit casts to the MLRisc code generator.
-
Made the translation of built-in numeric types to FLINT primitive types more consistent.
-
Added the
CheckCPS
module, which implements some basic invariant checking on the CPS IR.
Basis Library
-
Added
numGens
andnurserySizeInBytes
functions to theSMLofNJ.Internals.GC
structure, with corresponding runtime-system support.
Bugs
Here is a list of the issues that are fixed (or closed) with this release. We include the original bug numbers for bugs that were reported using the gforge bug tracker.
Issue | Description | Gforge Bug |
---|---|---|
337 |
n.a. |
|
340 |
n.a. |
|
341 |
n.a. |
|
347 |
n.a. |
|
348 |
|
n.a. |
349 |
n.a. |
|
351 |
Fix |
n.a. |
354 |
n.a. |
|
355 |
|
n.a. |
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 |
---|---|---|
AMD64 |
FreeBSD 12.0 |
|
macOS 10.14 (Mojave) |
Tested |
|
macOS 10.15 (Catalina) |
||
macOS 11 (Big Sur) |
||
macOS 12 (Monterey) |
||
macOS 13 (Ventura) |
||
macOS 14 (Sonoma) |
||
macOS 15 (Sequoia) |
Tested |
|
Ubuntu 22.04.4 LTS |
Tested |
|
Ubuntu 20.04.6 LTS |
Tested |
|
|
||
Power PC |
Mac OS X 10.5 (Leopard) |
|
AIX |
||
|
||
Sparc |
Solaris |
|
Linux |
||
|
||
x86 (32-bit) |
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) |
||
macOS 10.13 (High Sierra) |
||
macOS 10.14 (Mojave) |
Tested |
|
Ubuntu 16.04.3 LTS |
||
Other Linux variants |
||
FreeBSD 12.0 |
||
Other BSD variants |
||
Windows 7 |
||
Windows 10 |
||
Cygwin (32-bit) |
||
|
The system also works on Apple Silicon using Rosetta2.
32-bit macOS issues
While the x86 installer for 110.99.8 works on macOs 10.14 Mojave, building from source requires some extra steps because the version of Xcode distributed for Mojave does not include a 32-bit SDK.
Another issue that you may encounter when building on macOs 10.14 Mojave is an error message for a shell script of the form
/bin/sh: bad interpreter: Operation not permitted
This error arises because the com.apple.quarantine
attribute is set on the
shell script. To fix the problem, remove the attribute using the command
xattr -d com.apple.quarantine shell-script
and resume the build.