Erlang
BEAM / functional · 1986Actively developedFault-tolerant concurrent services built from isolated processes and message passing.
Functional
Links
- Homepage
- https://www.erlang.org/
- Reference / standard
- https://www.erlang.org/doc/system/reference_manual.html
- Community & forums
- https://www.erlang.org/community
- Wikipedia (English)
- https://en.wikipedia.org/wiki/Erlang_(programming_language)
Tracked release
- Version
- OTP 29.1
- Artifact
- Runtime / OTP feature release
- Published
- 2026-09-16
- Source checked
- 2026-10-22
Use & ecosystem
- Suited for
- Web backends, Distributed services
- Family / tradition
- Functional / ML / lazy, Erlang / BEAM
- Maturity
- Established
- Ecosystem breadth
- Focused
Decades of production operation and a stable runtime justify Established. The ecosystem is deep in concurrent services rather than broad across unrelated application domains.
Industry & practical use
Telecommunications, messaging and distributed service infrastructure are its principal strengths. RabbitMQ is a concrete widely deployed Erlang/OTP application; OTP supervision supports services whose components must fail independently.
Compilers, libraries & tooling
Erlang/OTP includes the BEAM runtime, networking and supervision libraries. Rebar3 and Hex support builds and packages; native extensions require care around runtime safety.
Platforms & deployment
- General toolchains
- Linux, Windows, macOS
- Specialized tooling
- None catalogued
- Native cross-compilation
- Not the usual deployment model
Deploy the appropriate BEAM runtime on the target OS. Unix-like servers are a particularly common operational environment.
Portable BEAM code normally runs on a separately installed target runtime. Native extensions and runtime cross-builds are separate concerns.
Project health & support
Ericsson and the open-source community maintain OTP. Long-running institutional support is strong evidence, without guaranteeing the maintenance of every package.
Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below
History & origin
Erlang began at Ericsson in 1986 to support telecommunications systems. Its language and OTP libraries developed around concurrency, supervision and long-running services.
- Creators
- Joe Armstrong, Robert Virding, Mike Williams, Ericsson
- Origin
- 1986 — Initial development at Ericsson; open-sourced in 1998.
Influences & descendants
Influenced by
- Not yet documented in this catalogue.
Influenced in this catalogue
Language features
- Typing
- Dynamic
- Execution
- Bytecode VM, JIT
- Block structure
- Explicit delimiters
- Semicolons
- Context-dependent
- Lexical closures
- Yes
- Namespaced modules
- Yes
- Pattern matching
- Yes
- Macro system
- Token-based preprocessor macros
Implementation notes
- Semicolons separate clauses; periods terminate definitions. The preprocessor is textual, not an AST macro system.
Sources & references
- Project overview
- https://www.erlang.org/
- Language / implementation reference
- https://www.erlang.org/doc/system/reference_manual.html
- Modules and preprocessing
- https://www.erlang.org/doc/system/modules.html
Use, ecosystem & platform sources
- Project overview
- https://www.erlang.org/
- Language / implementation reference
- https://www.erlang.org/doc/system/reference_manual.html
- RabbitMQ deployment requirements
- https://www.rabbitmq.com/docs/install-debian
See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.