# Install smlnj with Homebrew, MacPorts, Nix, pacman, apt, zypper

Compiler and programming system for Standard ML. Version 2026.1 via Homebrew; verified 2026-06-21.

## Install

```sh
sudo av install brew:smlnj
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install smlnj
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install smlnj
```

  Evidence: MacPorts ports tree: lang/smlnj/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#smlnj
```

  Evidence: nixpkgs package indexes: smlnj from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S smlnj
```

  Evidence: Arch Linux sync databases: smlnj from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Ubuntu apt (92%):

```sh
sudo apt install libckit-smlnj
```

  Evidence: Ubuntu 24.04 LTS package indexes: libckit-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- zypper (92%):

```sh
sudo zypper install smlnj
```

  Evidence: openSUSE Tumbleweed package metadata: smlnj from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:smlnj
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/smlnj>
- **Version:** 2026.1
- **Source summary:** Compiler and programming system for Standard ML
- **Homepage:** <https://www.smlnj.org/>
- **Repository:** <https://github.com/smlnj/smlnj>
- **Upstream docs:** <https://github.com/smlnj/smlnj#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://smlnj.org/dist/working/2026.1/smlnj-arm64-unix-2026.1.tgz>
- **Last updated:** 2026-06-21T00:20:16Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- asdlgen (cli)
- heap2exec (cli)
- ml-antlr (cli)
- ml-build (cli)
- ml-burg (cli)
- ml-makedepend (cli)
- ml-ulex (cli)
- ml-yacc (cli)
- sml (cli)
- asdlgen (alias)
- heap2exec (alias)
- ml-antlr (alias)
- ml-build (alias)
- ml-burg (alias)
- ml-makedepend (alias)
- ml-ulex (alias)
- ml-yacc (alias)
- sml (alias)

## Build dependencies

- autoconf
- cmake
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2026.1
- Package-manager updated: 2026-06-21
- Local data: ok
- Upstream repository: https://www.smlnj.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Standard ML of New Jersey is a compiler, interactive system, and programming environment for the Standard ML language.

### Project history

The official background page says SML/NJ was originally developed jointly at Bell Laboratories and Princeton University and later became a joint research project involving Bell Labs, Lucent Technologies, Princeton, Yale, and AT&T Research.

The current official site describes SML/NJ as free, open-source software with associated libraries, tools, and documentation. Its GitHub README identifies the main repository as the active development tree and recommends the legacy version for production use.

### Adoption history

The official background page notes SML/NJ use in large systems in applied logic, verification, program analysis, and advanced compilers.

The project has remained packaged across Unix-like package managers, with Homebrew, MacPorts, Nix, Arch, Ubuntu, and openSUSE names present in the input package facts.

### How it is used

Users typically enter the `sml` interactive system or use the included build and language-processing tools such as `ml-yacc`, `ml-lex` successors, `ml-ulex`, `ml-antlr`, and `ml-build`.

The official User's Guide documents installation, the interactive system, the Compilation Manager, SML/NJ libraries, and programming tools.

### Why package nerds care

SML/NJ is a long-lived compiler distribution with an unusually rich toolchain: compiler, runtime, libraries, parser and lexer generators, compilation manager, and documentation.

For package maintainers, it is significant because it spans legacy and development release lines, platform-specific installers, boot files, and source builds.

### Timeline

- 1996: Official background page identifies SML/NJ as a Bell Labs and Princeton-origin compiler and environment.
- 2002: Official version index lists release 110.42.
- 2022: Official news says the project began migrating source and bug tracking to GitHub.
- 2025: Official version index lists release 110.99.9.
- 2026: Official news lists development release 2026.1.

### Related projects

- Related official components include the SML/NJ Library, Compilation Manager, Concurrent ML, eXene, ML-Lex, ML-Yacc, ML-LPT, and the Standard ML Basis Library.
- The GitHub README notes that the development tree uses a customized LLVM library as a submodule.

### Sources

- <https://github.com/smlnj/smlnj>
- <https://www.smlnj.org/>
- <https://www.smlnj.org/dist/working/index.html>
- <https://www.smlnj.org/doc/>
- <https://www.smlnj.org/smlnj.html>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** smlnj
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - smlnj: normalized package name match | nixpkgs package indexes: smlnj from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - libckit-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libckit-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | SML library for parsing and type-checking C programs | https://www.smlnj.org/
- Ubuntu apt - libcml-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libcml-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Concurrent ML extension of SML | https://www.smlnj.org/
- Ubuntu apt - libcmlutil-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libcmlutil-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Concurrent ML utility library | https://www.smlnj.org/
- Ubuntu apt - libexene-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libexene-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Concurrent ML library for the X Window System | https://www.smlnj.org/
- Ubuntu apt - libmlnlffi-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmlnlffi-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | No Longer Foreign Function Interface | https://www.smlnj.org/
- Ubuntu apt - libmlrisctools-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libmlrisctools-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Library for generating MLRISC modules | https://www.smlnj.org/
- Ubuntu apt - libpgraphutil-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libpgraphutil-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Portable graph utility library for SML Compilation Manager | https://www.smlnj.org/
- Ubuntu apt - libsmlnj-smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libsmlnj-smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Useful libraries for Standard ML of New Jersey | https://www.smlnj.org/
- Ubuntu apt - ml-burg - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ml-burg from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Code generator for Standard ML | https://www.smlnj.org/
- Ubuntu apt - ml-lex - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ml-lex from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Lexical analyzer generator for Standard ML | https://www.smlnj.org/
- Ubuntu apt - ml-lpt - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ml-lpt from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | SML/NJ language processing tools | https://www.smlnj.org/
- Ubuntu apt - ml-nlffigen - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ml-nlffigen from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | ML generator for C glue code | https://www.smlnj.org/
- Ubuntu apt - ml-yacc - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: ml-yacc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Parser generator for Standard ML | https://www.smlnj.org/
- Ubuntu apt - nowhere - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: nowhere from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Translates programs from an extended Standard ML to Standard ML | https://www.smlnj.org/
- Ubuntu apt - smlnj - 110.79-8build1: normalized package name match | Ubuntu 24.04 LTS package indexes: smlnj from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Standard ML of New Jersey interactive compiler | https://www.smlnj.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Build dependency declared by Homebrew.
- [mlkit](https://www.automicvault.com/pkg/brew/mlkit/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language, standard-ml.
- [c3c](https://www.automicvault.com/pkg/brew/c3c/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [dmd](https://www.automicvault.com/pkg/brew/dmd/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [inform6](https://www.automicvault.com/pkg/brew/inform6/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [lisette](https://www.automicvault.com/pkg/brew/lisette/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [nesc](https://www.automicvault.com/pkg/brew/nesc/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [orc](https://www.automicvault.com/pkg/brew/orc/) - Shares av.db curated category or tags: cli, compiler, language-runtime, runtime.
- [mosml](https://www.automicvault.com/pkg/brew/mosml/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, ml.
- [polyml](https://www.automicvault.com/pkg/brew/polyml/) - Local package facts share a topical domain. Shared terms: cli, compiler, language, language-runtime, ml.

## Combined YAML source

View the package source record on GitHub. [combined/smlnj.yml](https://github.com/automic-vault/db/blob/main/combined/smlnj.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
