Introductory Lab: Erlang
The goal of this lab is to get familiar with Erlang. Please read the recommended documentation before starting with the tasks.
The Erlang language
Erlang is a general-purpose concurrent programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping so code can be changed without stopping a system. Erlang was originally a proprietary language within Ericsson, but was released as open source in 1998. The Ericsson implementation primarily runs interpreted virtual machine code, but it also includes a native code compiler (not supported on all platforms), developed by the High-Performance Erlang Project HiPE at this department.
Creating and managing processes is trivial in Erlang, whereas threads are considered a complicated and error prone topic in most languages. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes the need for locks.
Erlang is named after A. K. Erlang. It is sometimes thought that its name is an abbreviation of Ericsson Language, owing to its origin inside Ericsson. According to Bjarne DÃ¤cker, who headed the Computer Science Lab at the time, this duality is intentional. (origin Wikipedia)
- Go through the first 32 pages of Getting Started with Erlang.
- Alternatively, you can learn you some Erlang for great good, up to and including "Designing a Concurrent Application".
- Read and follow the instructions.