Erlang Reference Manual

Version 5.3

Bibliography |Glossary |Cover |Up

Table of Contents

1 Introduction
1.1 Purpose
1.2 Prerequisites
1.3 Document Conventions

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 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 Parenthesized Expressions
6.20 Block Expressions
6.21 List Comprehensions
6.22 Guard Sequences
6.23 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 Handling of Run-Time Errors in Erlang
9.3 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 Error Handling
10.7 Monitoring Processes
10.8 Process Dictionary

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

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