Table of Contents

Introduction

Starting Out

Starting Out (for real)

Modules

Syntax in Functions

Types (or lack thereof)

Recursion

Higher Order Functions

Errors and Exceptions

Functionally Solving Problems

A Short Visit to Common Data Structures

The Hitchhiker's Guide to Concurrency

More On Multiprocessing

Errors and Processes

Designing a Concurrent Application

What is OTP?

Clients and Servers

Rage Against The Finite-State Machines

Event Handlers

Who Supervises The Supervisors?

Building an Application With OTP

Building OTP Applications

The Count of Applications

Release is the Word

Leveling Up in The Process Quest

Buckets Of Sockets

EUnited Nations Council

Bears, ETS, Beets

Distribunomicon

Distributed OTP Applications

Common Test for Uncommon Tests

Mnesia And The Art of Remembering

Type Specifications and Erlang

Conclusion

Postscript: Maps