All corrections
Wikipedia April 22, 2026 at 05:59 PM

en.wikipedia.org/wiki/Erlang_(programming_language)

3 corrections found

1
Claim
They are written as strings of consecutive alphanumeric characters, the first character being lowercase.
Correction

This description of Erlang atom syntax is too narrow. Unquoted atoms may also contain `_` and `@`, so they are not limited to strictly alphanumeric characters.

Full reasoning

The official Erlang system documentation defines atoms more broadly than this sentence does. It states that an atom must be quoted if it does not begin with a lower-case letter or if it contains characters other than alphanumeric characters, underscore (_), or @. The same page gives phone_number and name@node as valid unquoted atom examples.

So the article's wording is incorrect because it says atoms are written as "consecutive alphanumeric characters" only, which excludes valid unquoted atoms such as phone_number and name@node.

1 source
  • Data Types - Erlang System Documentation v28.4.3

    An atom is to be enclosed in single quotes ( ' ) if it does not begin with a lower-case letter or if it contains other characters than alphanumeric characters, underscore ( _ ), or @ . Examples: hello phone_number name@node

2
Claim
It also includes a native code compiler on most platforms, developed by the High Performance Erlang Project (HiPE) at Uppsala University.
Correction

This is outdated. HiPE was removed from Erlang/OTP, so the official implementation no longer includes the HiPE native code compiler.

Full reasoning

The article describes the official Erlang/OTP implementation in the present tense, but Erlang/OTP no longer ships HiPE as an included native-code compiler.

Official OTP 24.0 release notes state: "The experimental HiPE application has been removed, together with all related functionality in other applications." The Erlang/OTP "Removed Functionality" page likewise lists code:is_module_native/1 with the note "HiPE has been removed".

That means the claim that BEAM includes a HiPE native code compiler on most platforms is no longer true for current Erlang/OTP releases. (Modern Erlang/OTP uses BeamAsm JIT on supported platforms instead, which is a different mechanism.)

2 sources
3
Claim
(note the semicolon ; meaning 'else')
Correction

In Erlang, `;` does not mean `else`. It separates function clauses.

Full reasoning

The Erlang reference manual defines a function declaration as "a sequence of function clauses separated by semicolons, and terminated by period (.)". In other words, the semicolon here is clause separator syntax, not an else keyword.

The following clause is tried only if earlier clauses do not match, but that behavior comes from Erlang's function-clause matching rules—not because ; literally means else.

1 source
  • Erlang -- Functions

    A function declaration is a sequence of function clauses separated by semicolons, and terminated by period (.).

Model: OPENAI_GPT_5 Prompt: v1.16.0