Automic VaultAutomic Vault

brew

Install lunarml with Homebrew, Nix

Standard ML compiler that produces Lua/JavaScript. Version 0.3.0 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install lunarml

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#lunarml

nixpkgs package indexes · pkgs/by-name/lu/lunarml/package.nix · source: api.github.com

overview

Package summary

Standard ML compiler that produces Lua/JavaScript

Commands and aliases

  • lunarml

history

Project history and usage

LunarML is a Standard ML compiler whose distinguishing package-manager pitch is that it emits Lua and JavaScript rather than native code. Its upstream README describes it as a compiler for the full SML '97 language with signatures, functors, a subset of the Basis Library, an ML Basis system for multi-file projects, and targets for Lua, LuaJIT, Node.js, and web JavaScript.

Project history

The public GitHub repository was created in 2018 under ARATA Mizuki's minoki account. The project has since developed as a niche cross-runtime Standard ML implementation: the documentation is maintained as Sphinx/Read the Docs material, and the README documents prebuilt binaries, Docker usage, and source builds via MLton.

By the v0.3.0 release line, LunarML packaged the compiler as native binaries as well as precompiled Lua and Node.js scripts. The README warns that script-compiled LunarML is slower than the native binary, which reflects the project's practical packaging concern: making the compiler runnable in several host environments while preserving a serious-use native path.

Adoption history

LunarML remains a specialist language-tooling package rather than a mass-market runtime. The supplied package metadata lists Homebrew and Nix packages, and the GitHub repository metadata shows a modest but visible audience for an SML-to-Lua/JavaScript compiler.

Its adoption story is strongest among language implementers and users who want Standard ML code to run in ecosystems where Lua or JavaScript is the deployment substrate.

How it is used

The core command is `lunarml compile [options] input.(sml|mlb)`. Users choose targets such as Lua 5.3+, LuaJIT, Node.js ES modules, or web JavaScript, and can produce executable-style programs or modules.

The README also documents `check`, `help`, and `version` subcommands, Docker invocation, `make install`, and build/test targets for Lua, LuaJIT, and Node.js back ends.

Why package nerds care

LunarML is interesting to package nerds because it packages a traditionally academic language in a portable, script-friendly way. A Homebrew or Nix install can turn SML source into Lua or JavaScript output without requiring users to assemble a full bespoke compiler toolchain.

The package also shows the tension common in language packages: convenient precompiled scripts exist for reach, while the upstream docs still steer serious users toward the native compiler.

Timeline

  • 2018: GitHub repository created for minoki/LunarML.
  • 2024: Read the Docs documentation copyright year indicates maintained public documentation.
  • 2025: v0.3.0 release published with documented prebuilt binary workflows.

Related projects

  • MLton is documented as the build-time Standard ML compiler needed to build LunarML.
  • Lua, LuaJIT, Node.js, and web JavaScript are documented output targets.
  • The ML Basis system is documented as LunarML's multi-file project mechanism.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
lunarmlcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.3.0
manager updated2026-06-22
local dataok
upstreamcurrent
latest detectedv0.3.0

https://github.com/minoki/LunarML

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:lunarml
Version0.3.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/lunarml
Homepagehttps://github.com/minoki/LunarML
Repositoryhttps://github.com/minoki/LunarML
Upstream docshttps://github.com/minoki/LunarML#readme
LicenseMIT
Source archivehttps://github.com/minoki/LunarML/archive/refs/tags/v0.3.0.tar.gz
Last updated2026-06-22T14:05:14-07:00
Pulseupdated
Dependenciesgmp
Build dependenciesmlton
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namelunarml
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

lunarml

nix profile install nixpkgs#lunarml
  • normalized package name match
  • Matched by: Lunarml
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/lu/lunarml/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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