|
Standard ML of New Jersey
|
|
Standard ML of New Jersey
(abbreviated SML/NJ) is
a compiler for the
Standard ML '97
programming language with associated libraries,
tools, and documentation.
SML/NJ is free, open source software.
- [2022-09-28] The smlnj-gforge server has been shut down.
The previous contents have been archived and, in many cases, migrated
to the SML/NJ GitHub
project.
- [2022-08-25] Version 2022.1 is
released. This version provides a baseline set of boot files for the new
GitHub repository. It also
includes the bug fixes from
Version 110.99.3.
See the README
for details.
- [2022-07-27] Version 110.99.3 is
released. This version is primarily a bugfix release, but it does include a
small number of enhancements as well as support for macOS 13
(Ventura). See the README
for details.
- [2022-07-15] We have taken the first step toward migrating SMLNJ
to GitHub.
The source repository for the "legacy" branch (i.e., 110.99.x) is now
a GitHub project at
https://github.com/smlnj/legacy.
We have also migrated our bug database to GitHub issues
(see below for details).
- [2021-12-31] Version 2021.1 is
released.
This version is viewed as an unstable beta release. It only supports 64-bit
AMD64 (aka x86-64) Unix systems (e.g., Linux and macOS).
The major change is that we have switched from using MLRISC to
LLVM for our code generator
(see our recent IFL paper
for details).
The README has more details
about this version.
- [2021-09-22] Version 110.99.2 is
released. The main purpose of this patch release is to support installing and running
SML/NJ on macOS 12 (Monterey).
The release also contains a few bug fixes; see the
README
for details.
- [2021-04-12] Version 110.99.1 is
released. The main purpose of this patch release is to support installing and running
SML/NJ on M1 Macs under the
Rosetta2 translator.
The release also contains a couple of bug fixes; see the
README
for details.
- [2020-12-24] Version 110.99 is
released. This release fixes additional pretty-printing regressions as well
as some other bugs.
See the README
for details.
- [2020-08-25] Version 110.98.1 is
released. This patch release fixes a number of pretty-printing regressions that
were introduced in 110.98.
See the README
for details.
- [2020-07-17] In conjunction with the release of
Version 110.98, there is
now online documentation
for most of the SML/NJ Library.
- [2020-07-17] Version 110.98 is
released. This release includes substantial improvements to the documentation
as well as other improvements and bug fixes.
See the README
for details.
- [2020-04-21] Version 110.97 is
released.
This release is fairly substantial, with a bunch of bug fixes, additional
documentation, and a large number of changes and additions to the
SML/NJ Library.
See the README
for details.
- Older news
Future Plans
With the 2021.1 release, we are dropping support for 32-bit systems.
We will continue to create patch releases to the 110.99 version when there are
critical bugs to fix.
For the next release (2022.1), we plan to add support for the Arm64
architecture and hope to include support for 64-bit Windows on the
AMD64 architecture.
Support for 64-bit architectures
The latest version (110.99.3)
supports 64-bit executables on macOS and Linux.
The latest release is 110.99.3;
we believe that this version is stable.
Previous versions are also available through our
release history page.
A history of the changes to the system is also
available.
Signed installers for macOS are available, which install the system
in /usr/local/smlnj
.
Note that to install SML/NJ on macOS 10.15 Catalina, you will have to
right-click on the installer package, which should open up a dialog
box. Click on the Open button to run the installer.
A Windows msi installer for Windows 7+
is available (smlnj-110.99.3.msi).
Our master source repository is kept on a FusionForge server (a successor
to GForge) under Subversion control.
We provide anonymous read-only access to the repository, so anyone can
download a snapshot of the most recent sources at any time.
Instructions are here.
Background
Documentation and Literature
Reporting Bugs
As of July 2022, we are using GitHub issues to track bug reports
and feature requests. We have migrated the existing bug database from
our previous bug-tracking system to issues.
Note that to submit a bug, you will need a GitHub account.
- Pointers to programming resources (libraries, tools, example code),
projects using SML/NJ, other SML implementations, related
compiler research work, and miscellaneous SML links.
The programming resources links will soon move to a separate
page of their own.
- Picture of current cast of people involved in the project.
This project is based upon work supported in part by the National
Science Foundation under Grant No. CNS-0454136.
Any opinions, findings and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily
reflect the views of the National Science Foundation (NSF).
Send comments to 
Copyright © 2004-2021, SML/NJ Fellowship.