Automic VaultAutomic Vault

brew

Install elm with Homebrew, scoop, winget

Functional programming language for building browser-based GUIs. Version 0.19.2 via Homebrew; verified 2026-07-07.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install elm

local Homebrew formula metadata

Windows

Scoopverified · 92%
scoop install main/elm

Scoop official bucket manifest trees · bucket/elm.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id EvanCzaplicki.Elm -e

Windows Package Manager source index · EvanCzaplicki.Elm · source: cdn.winget.microsoft.com

overview

Package summary

Functional programming language for building browser-based GUIs

Commands and aliases

  • elm

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2012: Elm 0.1 initial release appears in the official release archive.
  • 2014: Elm 0.14 introduces the package manager, parallel builds, and JSON support according to the official news archive.
  • 2016: Elm 0.17 adds subscriptions and removes signals from ordinary application code.
  • 2018: Elm 0.19 focuses on smaller assets and faster builds.
  • 2019: Elm 0.19.1 is released and described by the news page as a long-stable release.

Related projects

  • Elm is closely related to package.elm-lang.org, the official guide, elm-format, and editor tooling for Elm source. Conceptually, it sits near functional frontend systems and ML-family languages, but its package and compiler workflow is intentionally its own ecosystem.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:programming language

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 2 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.

local files

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

Config paths the tool may read or write during local use.

Unix
elm.json

executables

Installed executables

CommandKindExposureNote
elmcliglobal 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.19.2
manager updated2026-07-07
local dataok
upstreamcurrent
latest detected0.19.2

https://github.com/elm/compiler

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:elm
Version0.19.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/elm
Homepagehttps://elm-lang.org
Repositoryhttps://github.com/elm/compiler
Upstream docshttps://elm-lang.org/docs
LicenseBSD-3-Clause
Source archivehttps://github.com/elm/compiler/archive/refs/tags/0.19.2.tar.gz
Last updated2026-07-07T20:40:18Z
Pulseupdated
Dependenciesgmp
Build dependenciescabal-install, ghc
Uses from macOSlibffi, ncurses
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 Nameelm
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • 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.

Scoop95%

main/elm

scoop install main/elm
  • normalized package name match
  • Matched by: Elm
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/elm.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

EvanCzaplicki.Elm

winget install --id EvanCzaplicki.Elm -e
  • normalized package name match
  • Matched by: Elm
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: EvanCzaplicki.Elm from https://cdn.winget.microsoft.com/cache/source.msix

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 configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment