macOS
brew install elmlocal Homebrew formula metadata
brew
Functional programming language for building browser-based GUIs. Version 0.19.2 via Homebrew; verified 2026-07-07.
install
brew install elmlocal Homebrew formula metadata
scoop install main/elmScoop official bucket manifest trees · bucket/elm.json · source: api.github.com
winget install --id EvanCzaplicki.Elm -eWindows Package Manager source index · EvanCzaplicki.Elm · source: cdn.winget.microsoft.com
overview
Functional programming language for building browser-based GUIs
history
Elm is a functional programming language and compiler toolchain for browser applications. Its official materials frame it around reliable webapps, friendly compiler messages, small assets, and a command-line workflow centered on elm init, elm reactor, elm make, elm install, and elm.json.
Elm began as an experimental functional reactive programming language and became a practical web UI language over the 0.x series. The official news archive records early releases from 0.1 in April 2012, then a steady sequence of language, package, debugger, and compiler changes through the 2010s.
A major design shift came with Elm 0.17 in 2016, where the project removed signals from application code and introduced subscriptions, moving Elm away from explicit FRP vocabulary in day-to-day app structure. Elm 0.19 in 2018 later emphasized smaller assets and faster builds, and Elm 0.19.1 in 2019 was described by the official news page as stable for quite some time.
Elm's adoption has been tied to its promise of making frontend programming more predictable. The official guide teaches beginners through browser UI examples and the Elm Architecture, while the news archive highlights compiler errors, debugger work, package management, and conference talks as part of the language's outreach.
In package-manager culture, Elm is installed as a single executable and appears in Homebrew, Scoop, winget, and other package indexes. That distribution style made the compiler easy to pin, replace, and run locally, which mattered for teams managing Elm version compatibility across projects.
A normal Elm project starts with elm init, which creates elm.json and a src directory. Developers use elm reactor for local exploration, elm make to compile Elm source to HTML or JavaScript, and elm install to add packages from package.elm-lang.org into elm.json.
Elm is most commonly used for browser-based GUI work where a strongly typed, functional architecture is valued. The command-line workflow is deliberately small: build, run a local reactor, install packages, and ask the compiler for detailed error messages.
Elm is notable to package nerds because the compiler, package manager, package registry, and project manifest form a tightly controlled ecosystem. The elm.json file captures application and package dependencies, and the compiler's version-sensitive behavior makes reproducible installs and exact tool versions important.
Elm also influenced frontend tooling expectations: friendly diagnostics, a standard architecture, and a package workflow with strong semantic constraints became part of its identity. Even people who do not use Elm often recognize it as a language ecosystem that optimized hard for understandable errors and low-runtime-surprise web apps.
security posture
generalized runtime or code generation signal.
yellow risk · medium confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
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.
Config paths the tool may read or write during local use.
elm.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
elm | cli | global executable |
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.
https://github.com/elm/compiler
install metadata
| Package key | brew:elm |
|---|---|
| Version | 0.19.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/elm |
| Homepage | https://elm-lang.org |
| Repository | https://github.com/elm/compiler |
| Upstream docs | https://elm-lang.org/docs |
| License | BSD-3-Clause |
| Source archive | https://github.com/elm/compiler/archive/refs/tags/0.19.2.tar.gz |
| Last updated | 2026-07-07T20:40:18Z |
| Pulse | updated |
| Dependencies | gmp |
| Build dependencies | cabal-install, ghc |
| Uses from macOS | libffi, ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | elm |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
main/elm
scoop install main/elmEvanCzaplicki.Elm
winget install --id EvanCzaplicki.Elm -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.