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.