| Paradigm | multi-paradigm: concurrent, functional |
|---|---|
| Designed by | Joe Armstrong, Robert Virding, and Mike Williams |
| Developer | Ericsson |
| First appeared | 1986 |
| Stable release |
19.2 / December 9, 2016
|
| Typing discipline | dynamic, strong |
| License |
Apache License 2.0 (since OTP 18.0) Erlang Public License 1.1 (earlier releases) |
| Filename extensions | .erl .hrl |
| Website | www |
| Major implementations | |
| Erlang | |
| Influenced by | |
| Prolog, Smalltalk, PLEX,LISP | |
| Influenced | |
| F#, Clojure, Rust, Scala, Opa, Reia, Elixir, Dart, Akka | |
|
|
|
Apache License 2.0 (since OTP 18.0)
Erlang (/ˈɜːrlæŋ/ ER-lang) is a general-purpose, concurrent, functional programming language, as well as a garbage-collected runtime system.
The term Erlang is used interchangeably with Erlang/OTP, or OTP, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang, and a set of design principles for Erlang programs.
The Erlang runtime system is known for its designs that are well suited for systems with the following characteristics:
The Erlang programming language is known for the following properties:
The sequential subset of the Erlang language supports eager evaluation, single assignment, and dynamic typing.
It was originally a proprietary language within Ericsson, developed by Joe Armstrong, Robert Virding and Mike Williams in 1986, but was released as open source in 1998. Erlang/OTP is supported and maintained by the OTP product unit at Ericsson.