# Standard ML of New Jersey

> free software implementation of the ML language

**Wikidata**: [Q239406](https://www.wikidata.org/wiki/Q239406)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Standard_ML_of_New_Jersey)  
**Source**: https://4ort.xyz/entity/standard-ml-of-new-jersey

## Summary
Standard ML of New Jersey (SML/NJ) is a free software implementation and procedural programming language influenced by Standard ML. It features strong, inference-based typing and is maintained as an open-source project under the Standard ML of New Jersey License. The software has been in development since its inception in 2002 and continues to receive active updates, including stable and unstable releases through 2025.

## Key Facts
- **Aliases:** SML/NJ, smlnj
- **License:** Standard ML of New Jersey License
- **Inception:** October 16, 2002
- **Programming Paradigm:** Procedural programming
- **Typing Discipline:** Inference typing and strong typing
- **Influenced By:** Standard ML (which originated in 1973)
- **Latest Stable Version:** 110.99.9 (dated November 4, 2025)
- **Latest Unstable Version:** 2025.3 (dated December 22, 2025)
- **Source Code Repository:** github.com/smlnj/smlnj
- **Official Website:** https://www.smlnj.org/

## FAQs
### Q: What type of programming language is Standard ML of New Jersey?
A: Standard ML of New Jersey is classified as a procedural programming language. It is an implementation of the ML language and features strong typing with type inference.

### Q: Is Standard ML of New Jersey free to use?
A: Yes, it is free software released under the Standard ML of New Jersey License. The source code is publicly available on GitHub.

### Q: Where can I find the source code for Standard ML of New Jersey?
A: The preferred source code repository is located at `https://github.com/smlnj/smlnj`. A legacy system repository is also available at `https://github.com/smlnj/legacy`.

### Q: What is the current version of Standard ML of New Jersey?
A: According to the provided data, the latest stable version is 110.99.9, released on November 4, 2025, and the latest unstable version is 2025.3, dated December 22, 2025.

## Why It Matters
Standard ML of New Jersey serves as a critical bridge between the theoretical foundations of the ML language—originally developed in 1973—and practical, procedural application. By providing a free software implementation, it democratizes access to a language defined by its strong typing and inference capabilities, making these advanced features accessible without commercial barriers.

The project is significant for its longevity and active maintenance; originating in 2002, it has evolved through dozens of versions, adapting to modern development environments while retaining its core architectural principles. It supports a dedicated ecosystem, evidenced by its presence in package managers like openSUSE, MacPorts, and Chocolatey, and maintains a specific Stack Exchange tag for community support. Its classification as a procedural language within the ML family offers a distinct paradigm for developers looking to leverage ML's robust type systems within a procedural framework. Furthermore, the project's ongoing development cycle, extending into stable and unstable releases projected for 2025, highlights its sustained relevance in the programming language landscape.

## Notable For
- **Free Implementation:** Distinct as a free software implementation of the ML language, distinguishing it from proprietary alternatives.
- **Active Development Cycle:** Maintains a frequent release schedule, with version logs spanning from 2010 to 2025.
- **Hybrid Typing Discipline:** Notable for combining inference typing with strong typing within a procedural paradigm.
- **Broad Distribution:** Available across multiple package managers, including openSUSE, MacPorts, and Chocolatey, facilitating ease of installation.
- **Legacy Preservation:** Maintains distinct repositories for current development and legacy systems on GitHub.

## Body
### Origin and Classification
Standard ML of New Jersey (often abbreviated as SML/NJ) is a procedural programming language and software implementation. It was inceptioned on October 16, 2002. The language is heavily influenced by Standard ML, the functional programming language that originated in 1973. While the parent language is functional, SML/NJ is specifically classified as a procedural programming language in its structured properties. It operates under the Standard ML of New Jersey License.

### Technical Specifications
The language is designed with a rigorous typing discipline. It utilizes **inference typing**, allowing the compiler to deduce types automatically, alongside **strong typing**, which ensures that type errors are caught at compile time. The project depends on Asciidoctor software for documentation generation.

### Version History
The development of Standard ML of New Jersey is marked by a series of stable and unstable releases.
- **Early Stable Releases:** Version 110.72 was released on February 6, 2010.
- **Recent Stable Releases:** The project shows a progression through versions 110.99 (2020) to 110.99.4 (2023).
- **Latest Versions:** The records indicate a stable version 110.99.9 released on November 4, 2025, and an unstable version 2025.3 released on December 22, 2025.

### Resources and Community
The project is hosted online at `https://www.smlnj.org/`, which serves as its official English-language website running on Apache HTTP Server.
- **Source Control:** The code is maintained on GitHub under the username `smlnj`. The primary repository is `https://github.com/smlnj/smlnj`, while older code is preserved in a legacy repository.
- **Community Support:** The language has a dedicated tag on Stack Overflow (`stackoverflow.com/tags/smlnj`) and is referenced in the Freebase knowledge base (`/m/0641x3`).
- **Distribution:** It is available for installation via various package managers, identified as `smlnj` in openSUSE, MacPorts, and Chocolatey.

## References

1. [Source](https://smlnj.org/dist/working/110.72/index.html)
2. [Source](https://smlnj.org/dist/working/110.99/index.html)
3. [Source](https://www.smlnj.org/dist/working/110.99.1/index.html)
4. [Source](https://www.smlnj.org/dist/working/110.99.2/index.html)
5. [Source](https://www.smlnj.org/dist/working/110.99.3/index.html)
6. [Source](https://www.smlnj.org/dist/working/2022.1/index.html)
7. [Source](https://www.smlnj.org/)
8. [Source](https://www.smlnj.org/dist/working/index.html)
9. [Source](https://www.smlnj.org/sml97.html)
10. Freebase Data Dumps. 2013
11. [Source](https://github.com/smlnj/smlnj/blob/main/doc/README#L4)