Erlang / OTP
The index page states the purpose before the language: Erlang builds “massively scalable soft real-time
systems with requirements on high availability”, under the tagline “practical functional programming
for a parallel world”. Concurrency is shown, not described — spawn a process, send with !, handle
with receive. The runtime carries concurrency, distribution and fault tolerance as built-in
properties, with hot code loading and release handling named as features of the same system. OTP is
the other half of the name: libraries and design principles shipped with the language, including a
distributed database, foreign-language interfaces, debugging and release tooling. Erlang/OTP 29, the
featured release as of a 2026-05-18 post — re-checked 2026-08-06 against the erlang/otp releases:
the 29 line is current and has moved to 29.0.5 (4 August 2026), with 28.5.0.5 and 27.3.4.16 patched
the same day and a CVE fix in 29.0.4 (27 July). The front page announces the major line; the patch
stream it does not show is where the security work is, which is the same pattern php‘s release board
makes visible and Erlang’s front page hides. The Erlang Ecosystem Foundation and the GitHub repository are
linked.
T1 — first-party. Thin, though: this is an index page. Supervision trees, the BEAM VM, the maintainers and the licence are all either named in passing or absent, so several things this wiki already asserts about BEAM come from elixir‘s page rather than this one.
It completes the corpus’s most-cited runtime
elixir has been in this wiki since spin-out as a language on BEAM, and BEAM is Erlang’s. So the hosted-language pair is now closed from both ends: the guest language’s page sells supervision, per-process garbage collection and distribution as Elixir’s story, and here is the host, selling the same properties as the runtime’s. Nothing in the two pages disagrees — which is itself the finding. Elixir’s most distinctive claims are inherited, and both pages are candid about it. Compare clojure and the JVM, where the host’s page is not in the corpus and the inheritance has to be inferred.
Note the framing difference. Elixir sells survivability — failure is expected and recoverable. Erlang sells availability, a systems-level property with an operational meaning. Same mechanism, and the second phrasing is the one you could hold a vendor to.
A language with a middleware layer in its name
OTP has no counterpart in the corpus. go ships a formatter and a test runner; nodejs has been
absorbing utilities into node: built-ins; php has a standard library. None of them ships
design principles — behaviours for how a supervised, distributed, upgradable system should be
structured. That puts Erlang alongside common-lisp on the “what does the language include” question
with the opposite answer: Common Lisp is a small core you extend, Erlang/OTP is a language plus an
architecture you are expected to adopt.
Hot code loading also has no rival here. Every other source assumes a program is stopped and replaced; this one assumes it keeps running, which follows from the availability requirement rather than from any functional-programming commitment.
Related
elixir · concurrency-model · hosted-language · common-lisp · language-governance · programming-language · synthesis