![]()
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.
What's New
- [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.
- [2019-12-13] Version 110.96 is released. This release fixes a number of issues with the 64-bit version; see the See the README for details.
- [2019-11-09] Version 110.95 is released. This release fixes some critical bugs. See the README for details.
- [2019-11-02] New versions of both the macOS and Windows installers for the 110.94 have been posted. The macOS installers fix an issue where the scripts were looking for a 32-bit version when a 64-bit version had been installed. The Windows installer includes a fix for bug #225 that was inadvertently omitted.
- [2019-11-01] New versions of the 110.94 installers for macOS were released. These fix a problem with the wrapper scripts having an incorrect path for the installation.
- [2019-10-31] Version 110.94 is released. This version is the first to support 64-bit platforms; specifically 64-bit executables on macOS and Linux. See the README for details.
- [2019-09-05] Version 110.93 is released. See the README for details.
- [2019-08-10] Version 110.92 is released. See the README for details.
- Older news
A note about version numbers
A long time ago, we had version numbers like 0.93; when we hit 0.100, we dropped the leading zero and switched to 100, 101, etc. For some reason, when we hit version 110, we stopped incrementing the first number and just bumped up the second (no one remembers why). We have now reached version 110.99, so we plan to switch to a different numbering scheme, where versions will have a major number determined by the year and a minor number determined by the release number for that year. The next release will be numbered 2021.1, since it will be the first release of 2021.Support for 64-bit architectures
The latest version (110.99) supports 64-bit executables on macOS and Linux.
Downloads
The latest release is 110.99; we believe that this version is stable, but there have been a lot of low-level changes that might have introduced bugs, so if you have any problems with the system you should report them and then revert to 110.87.
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
.
- smlnj-x86-110.99.pkg (32 bit)
- smlnj-amd64-110.99.pkg (64 bit)
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.msi).
Subversion access
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
- Books
- Tutorials
- SML/NJ User's Guide
- SML'97 Basis Library
- SML/NJ Library documentation
- SML/NJ FAQ (Frequently Asked Questions)
- Top Level Environment Comparison
- Special features of SML/NJ
- Compilation Manager (CM)
- ML Language Processing Tools (ml-ulex and ml-antl)
- ML-Lex
- ML-Yacc
- Concurrent ML
- eXene
- SML/NJ-C foreign function interface
- SML'97 Conversion Guide
- Compiler notes
Reporting Bugs
- Bugs can be reported online using our PHP bug form.
- You can also submit bug reports by email to
using the bug report form.
- A legacy record of known bugs and the bug history for SML/NJ are available via the bugs web page.
- Recent submissions should appear in the GForge tracker .
Links
- 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.
People
- 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-2020, SML/NJ Fellowship.