A readable companion to the official Erlang/OTP documentation, written with Claude.
With AI assistants writing more of the code, the valuable knowledge is less about syntax and more about concepts and how the runtime actually behaves — the details you need to judge whether plausible-looking code is right. Each chapter has the same shape:
- Why it exists — the concept
- The building blocks — the API, condensed
- How the runtime actually does it — mechanics from the Reference Manual and Efficiency Guide
- Plausible but wrong — code that compiles and passes a happy-path test, and why it fails
- Review checklist and sources
All chapters were checked against the OTP 29.1.1 documentation. Start with the Introduction; when reviewing code, use the Review Cheat Sheet.
Companion book: Learning Elixir from Claude covers what Elixir adds on top of the runtime: pattern matching, GenServer and Task, supervision with Registry, macros, Mix and releases, ExUnit, types and telemetry.
Whole book in one PDF: Erlang book, all chapters, with a table of contents.
| # | Chapter | Markdown | |
|---|---|---|---|
| 0 | Introduction | md | |
| 1 | Supervision Trees | md | |
| 2 | Processes and Mailboxes | md | |
| 3 | Binaries and Memory | md | |
| 4 | ETS | md | |
| 5 | gen_server and gen_statem | md | |
| 6 | Distribution | md | |
| 7 | Applications and Releases | md | |
| 8 | Testing | md | |
| 9 | Observability | md | |
| 10 | Schedulers and Performance | md | |
| 11 | NIFs and Ports | md | |
| 12 | Elixir Alongside Erlang | md | |
| 13 | gen_statem in Depth | md | |
| 14 | Review Cheat Sheet | md |
Edit the Markdown in md/, then run tools/build.sh (all chapters) or tools/build.sh md/04-ETS.md (one chapter). It needs pandoc and Chromium or Chrome; set CHROME=/path/to/chrome if it isn't found automatically.
To rebuild the combined book, run tools/build_book.py (same requirements).