Goal : The lab goal is to get familiar with programming in Erlang
- You are supposed to go through the tutorial pages and documents before you start the labs.
- Deadlines: first submission 2008-02-29 and for completion 2008-03-07.
- It is important that you follow the submission rules described in this page.
- 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)
- Getting Started
In order to get familiar with Erlang, it is crucial that you go through the first 32 pages of the following external link to the PDF.
Once you have done that, you can check this additional page and see whether you are familiar with the listed items.
- Read carefully the following file and follow the instructions there.
- You are supposed to submit an Erlang file "lab.erl" file where you include in the beginning your full name(s) and personal number(s) as a comment, and a text file "answer.txt" (also with your names...) which contain the answers to the questions.
- Submission is handled by the course manager system, see this page for more information.