Erlang Reference Manual

Version 5.5.3

Bibliography | Glossary | Cover | Up

Table of Contents

1 Introduction
1.1 Purpose
1.2 Prerequisites
1.3 Document Conventions
1.4 Complete List of BIFs
1.5 Reserved Words
1.6 Character Set

2 Data Types
2.1 Terms
2.2 Number
2.3 Atom
2.4 Binary
2.5 Reference
2.6 Fun
2.7 Port Identifier
2.8 Pid
2.9 Tuple
2.10 List
2.11 String
2.12 Record
2.13 Boolean
2.14 Escape Sequences
2.15 Type Conversions

3 Pattern Matching
3.1 Pattern Matching

4 Modules
4.1 Module Syntax
4.2 Module Attributes
4.3 Comments

5 Functions
5.1 Function Declaration Syntax
5.2 Function Evaluation
5.3 Tail recursion
5.4 Built-In Functions, BIFs

6 Expressions
6.1 Expression Evaluation
6.2 Terms
6.3 Variables
6.4 Patterns
6.5 Match
6.6 Function Calls
6.7 If
6.8 Case
6.9 Send
6.10 Receive
6.11 Term Comparisons
6.12 Arithmetic Expressions
6.13 Boolean Expressions
6.14 Short-Circuit Boolean Expressions
6.15 List Operations
6.16 Bit Syntax Expressions
6.17 Fun Expressions
6.18 Catch and Throw
6.19 Try
6.20 Parenthesized Expressions
6.21 Block Expressions
6.22 List Comprehensions
6.23 Guard Sequences
6.24 Operator Precedence

7 Macros
7.1 Defining and Using Macros
7.2 Predefined Macros
7.3 Flow Control in Macros
7.4 Stringifying Macro Arguments

8 Records
8.1 Defining Records
8.2 Creating Records
8.3 Accessing Record Fields
8.4 Updating Records
8.5 Records in Guards
8.6 Records in Patterns
8.7 Internal Representation of Records

9 Errors and Error Handling
9.1 Terminology
9.2 Exceptions
9.3 Handling of Run-Time Errors in Erlang
9.4 Exit Reasons

10 Processes
10.1 Processes
10.2 Process Creation
10.3 Registered Processes
10.4 Process Termination
10.5 Message Sending
10.6 Links
10.7 Error Handling
10.8 Monitors
10.9 Process Dictionary

11 Distributed Erlang
11.1 Distributed Erlang System
11.2 Nodes
11.3 Node Connections
11.4 epmd
11.5 Hidden Nodes
11.6 C Nodes
11.7 Security
11.8 Distribution BIFs
11.9 Distribution Command Line Flags
11.10 Distribution Modules

12 Compilation and Code Loading
12.1 Compilation
12.2 Code Loading
12.3 Code Replacement

13 Ports and Port Drivers
13.1 Ports
13.2 Port Drivers
13.3 Port BIFs