# Install millet with Homebrew, Nix

Language server for Standard ML (SML). Version 0.15.2 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:millet
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install millet
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#millet
```

  Evidence: nixpkgs package indexes: pkgs/by-name/mi/millet/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:millet
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/millet>
- **Version:** 0.15.2
- **Source summary:** Language server for Standard ML (SML)
- **Homepage:** <https://github.com/azdavis/millet>
- **Repository:** <https://github.com/azdavis/millet>
- **Upstream docs:** <https://github.com/azdavis/millet>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/azdavis/millet/archive/refs/tags/v0.15.2.tar.gz>
- **Last updated:** 2026-06-15T08:18:09Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- millet-ls (cli)
- millet-ls (alias)

## Build dependencies

- rust

## 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: 0.15.2
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/azdavis/millet
- Upstream latest detected: v0.15.2 (current)
## Project history and usage

Millet is a Rust language server for Standard ML by Andrew Davis. Davis introduced it publicly in a July 2, 2022 blog post, explaining that the idea came from his experience as a Carnegie Mellon undergraduate and teaching assistant for 15-150, an introductory functional programming course taught in Standard ML. The original motivation was to reduce the friction of compiler-error loops and give SML programmers editor feedback similar to modern language ecosystems.

### Project history

The same development narrative describes an early 2020 first attempt, a dormant period, and a May 2022 revival after Davis saw interest from a CMU student Discord. The revived implementation was rewritten around language-server needs: partial and malformed code should still produce useful diagnostics, and the project split the old code into crates, modernized tests, and replaced the earlier design with a more robust implementation.

### Adoption history

Millet's practical role is editor tooling for a niche language rather than a general compiler. Its README says it analyzes SML without running it and offers inline diagnostics, hover type and documentation, inlay hints, jump to definition, completions, code actions, document symbols, and find references. It understands multi-file projects through SML/NJ Compilation Manager files and ML Basis files, with configuration through `millet.toml`, VS Code settings, language-server initialization, and ML Basis annotations.

### How it is used

The package-manager niche is small but useful: official distribution includes a VS Code extension, Open VSX publication, and GitHub release binaries, while community packaging includes Homebrew, Nixpkgs, and AUR. It sits alongside SML/NJ and MLton rather than replacing them; users still need an SML implementation to run code, while Millet supplies the language-server layer for VS Code-compatible editors and other LSP-capable editors.

### Sources

- <https://azdavis.net/posts/millet/>
- <https://formulae.brew.sh/formula/millet>
- <https://github.com/azdavis/millet>
- <https://github.com/azdavis/millet/blob/main/docs/manual.md>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: millet.toml in workspace root
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** millet
- **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 - millet: normalized package name match | nixpkgs package indexes: pkgs/by-name/mi/millet/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [phpantom-lsp](https://www.automicvault.com/pkg/brew/phpantom-lsp/) - Shares av.db curated category or tags: cli, developer-tools, editor-tooling, language-server, lsp.
- [crystalline](https://www.automicvault.com/pkg/brew/crystalline/) - Shares av.db curated category or tags: cli, developer-tools, editor-tooling, language-server, lsp.
- [kotlin-language-server](https://www.automicvault.com/pkg/brew/kotlin-language-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-tooling, language-server, lsp.
- [vue-language-server](https://www.automicvault.com/pkg/brew/vue-language-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-tooling, language-server, lsp.
- [zuban](https://www.automicvault.com/pkg/brew/zuban/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp, rust.
- [ansible-language-server](https://www.automicvault.com/pkg/brew/ansible-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [bash-language-server](https://www.automicvault.com/pkg/brew/bash-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [clojure-lsp](https://www.automicvault.com/pkg/brew/clojure-lsp/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
