Erlang is a programming language created in 1986 by Joe Armstrong and Robert Virding and Mike Williams.
#48on PLDB | 37Years Old | 27.1kUsers |
29Books | 37Papers | 29kRepos |
Try now: Riju
Erlang ( 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: Distributed Fault-tolerant Soft real-time, Highly available, non-stop applications Hot swapping, where code can be changed without stopping a system. Read more on Wikipedia...
-module(square).
-export([square/1]).
square(A) -> A*A.
-module(main).
-export([main/0]).
main() ->
io:fwrite("Hello, world!\n").
-module(erlang_hw).
-export([start/0]).
start() ->
io:format("Hello World~n").
%% Hello World in Erlang
-module(hello).
-export([hello/0]).
hello() ->
io:format("Hello World!~n", []).
#!/usr/bin/env escript
-export([main/1]).
main([]) -> io:format("Hello, World!~n").
%% Second version
-module(counter).
-export([start/0, codeswitch/1]).
start() -> loop(0).
loop(Sum) ->
receive
{increment, Count} ->
loop(Sum+Count);
reset ->
loop(0);
{counter, Pid} ->
Pid ! {counter, Sum},
loop(Sum);
code_switch ->
?MODULE:codeswitch(Sum)
end.
codeswitch(Sum) -> loop(Sum).
after and andalso begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse receive rem try when xor
Feature | Supported | Token | Example |
---|---|---|---|
Integers | â | % [+-]?(?:[2-9]|[12][0-9]|3[0-6])#[0-9a-zA-Z]+ |
|
Floats | â | % [+-]?\d+.\d+ |
|
Conditionals | â | ||
Functions | â | ||
Print() Debugging | â | io:format | |
Message Passing | â | ||
Line Comments | â | % | % A comment |
Macros | â | -define(Const, Replacement). -define(Func(Var1,...,VarN), Replacement). |
|
hasExports | â | -export([start/0, codeswitch/1]). |
|
File Imports | â | -include("my_records.hrl"). -include("incdir/my_records.hrl"). -include("/home/user/proj/my_records.hrl"). -include("$PROJ_ROOT/my_records.hrl"). -include_lib("kernel/include/file.hrl"). |
|
Directives | â | -define(TIMEOUT, 200). ... call(Request) -> server:call(refserver, Request, ?TIMEOUT). -undef(Macro). |
|
Comments | â | % hello world program |
|
Shebang | â | #!/usr/bin/env escript |
|
Strings | â | "hello world" |
|
Case Insensitive Identifiers | X | ||
Semantic Indentation | X | ||
MultiLine Comments | X |
title | author | year | reviews | ratings | rating |
---|---|---|---|---|---|
Programming Erlang | Joe Armstrong | 2007 | 34 | 643 | 3.97 |
ERLANG Programming | Francesco Cesarini | 2009 | 10 | 190 | 4.06 |
Concurrent Programming ERLANG | Joe Armstrong | 1995 | 2 | 15 | 4.00 |
Introducing Erlang: Getting Started in Functional Programming | Simon St. Laurent | 2012 | 4 | 41 | 3.95 |
ERLANG and Elixir for Imperative Programmers | Wolfgang Loder | 0 | 1 | 3.00 | |
Concurrent Programming in ERLANG | Joe Armstrong | 1993 | 1 | 2 | 4.50 |
title | authors | year | publisher |
---|---|---|---|
Handbook of Neuroevolution Through Erlang | Sher, Gene I. | 2012 | Springer |
Erlang '04: Proceedings Of The Acm Sigplan 2004 Erlang Workshop : September 22-22, 2004, Snowbird, Utah, Usa | Acm Sigplan Erlang Workshop (2004 : Snowbird, Utah) | 2004 | Acm Press |
Handbook of Neuroevolution Through Erlang | Sher, Gene I. | 2012 | Springer |
Erlang and OTP in Action | Martin Logan and Eric Merritt and Richard Carlsson | 2010 | Manning Publications |
Erlang Programming: A Concurrent Approach to Software Development | Cesarini, Francesco and Thompson, Simon | 2009 | O'Reilly Media |
Erlang and Elixir for Imperative Programmers | Loder, Wolfgang | 2016 | Apress |
Concurrent Programming in Erlang (2nd Edition) | Virding, Robert and Wikstrom, Claes and Williams, Mike | 1996 | Prentice Hall |
Concurrent Programming in Erlang | Armstrong, Joe and Virding, Robert and Williams, Mike | 1993 | Prentice Hall |
Introducing Erlang | Simon St. Laurent | 2017 | O'reilly Media, Inc. |
Programming Erlang | Shroff Publishers & Distributors Pvt Ltd | ||
Introducing Erlang | Simon St. Laurent | 20170306 | O'Reilly Media, Inc. |
Erlang Programming | Francesco Cesarini; Simon Thompson | 20090611 | O'Reilly Media, Inc. |
Erlang Programming Language: Erlang, Ejabberd, Mnesia, Couchdb, Wings 3d, Open Telecom Platform, Rabbitmq, Tsung, Yaws | Books and LLC | ||
Erlang Programming | Francesco Cesarini | 20090611 | O'Reilly Media, Inc. |
Ătudes For Erlang | J. David Eisenberg | 2013 | |
Erlang '05: proceedings of the ACM SIGPLAN 2005 Erlang Workshop : September 25, 2005, Tallinn, Estonia | Acm Sigplan Erlang Workshop (4th : 2005 : Tallinn, Estonia) | Acm Press | |
Building Web Applications with Erlang | Zachary Kessin | 20120605 | O'Reilly Media, Inc. |
Erlang and OTP in Action | Eric Merritt; Martin Logan; Richard Carlsson | 20101115 | Simon & Schuster |
Building Web Applications with Erlang | Zachary Kessin | 20120605 | O'Reilly Media, Inc. |
Articles On Erlang Programming Language, Including | Hephaestus Books | 2011 | |
Building Scalable Applications With Erlang (developer's Library) | Jerry Jackson | 2019 | Addison-wesley Professional |
Learn You Some Erlang for Great Good! | Fred Hebert | 20130113 | Random House Publishing Services |
Research and implementation of Lobby System in Erlang | Wilson Tuladhar and Yury Dorofeev and Yeli Zhu | 2011-09-22 | LAP LAMBERT Academic Publishing |