1.1 In a nutshell, what is Erlang?
Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson. Erlang is available as open source from http://www.erlang.org.
1.2 What sort of programming & concurrency model does Erlang use?
Erlang uses user-space threading on top of OS threading to run potentially hundreds of thousands of simultaneous "processes" efficiently. Distribution allows multiple machines to network, and the addressing between processes (PIDs) is identical for local and remote processes.
Processes share no memory, and communicate via asynchronous message passing. Processes can have their lifetime monitored and safely send messages when they exit or crash.
Erlang is mostly a functional language, with single static assignment of variables and tail call optimization. I/O is directly supported without any sort of functional or monadic wrappers.
Erlang supports hot code updating with support for explicit transition boundaries and state migration.
Page in this topic: CLERIC
Also linked from: cl-muproc
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively