411 REFERENCE · Wikibooks
Erlang Programming
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
__NOTOC__ __NOEDITSECTION__
Erlang is a general purpose, concurrency-oriented functional programming language suited for fault-tolerant, distributed, soft real-time systems. It features strong dynamic typing, lightweight concurrency, eager evaluation and prolog like pattern matching. Erlang was developed in the 1980s at the Ericsson Computer Science Laboratory to address a then-unfulfilled need for telecommunications programming: a high-level, expressive language suitable for rapid development that offered the error recovery, concurrency, distribution and performance features required by telecommunications equipment.
Although its roots are in telecommunications, Erlang's unique features and extensive library make it suitable as a general-purpose programming language and well-suited to programming projects such as network servers, control systems and web development.
The Erlang language, together with an extensive library of applications and modules, a virtual machine and operating system, and a set of design principles establishing standard behaviors, comprise Erlang/OTP (OTP stands for Open Telecommunications Platform). Erlang/OTP is distributed as free software (under the Apache Public License) as well as a commercially supported version from Ericsson. Both distributions run on Microsoft
Windows, VxWorks by Wind River, and many varieties of Unix.
Introduction
/History/
/Overview/
/Getting Started/
Quick Tips
Basic Erlang
/Terms/
/Pattern Matching/
/Expressions/
/Functions/
Guards
/Modules/
/Errors/
/Operators/
Processes and Messages
/Timeouts/
/Macros/
/Techniques of Recursion/
/List Comprehensions/
Comments
/Variables/
Basic OTP
Kernel and Stdlib
Distribution
Behaviors
Design Principles
Network Programming
Testing
Documentation
How To Do It Example
Intermediate Erlang
Records
Additional Types
Function Objects
Bitsyntax
Object Programming with Erlang
Example1
Popular Modules
Using lists
Using regular expressions
Software Engineering
Debugging and Tracing
Performance and Optimization
Unit Testing with eunit
Advanced OTP
Database Programming
Using ets
Using mnesia
Using External Databases
Thinking in Parallel
Autonomous Agents
Parallel Programming with linda
Advanced Erlang
Making Parsers with yecc
Evaluation
Parse Transformation
Appendixes
Creating Web Applications with yaws
The document database CouchDB
Using Erlang with Emacs
Erlang Resources
Computer programming languages
E
25%