What lives here
Fifty short lessons, one unbroken chain: every page ends with a link to the next one, so you can read the course start to finish without ever wondering where to click. Each lesson teaches one idea with short Erlang examples, and the longer deep dives live on their own pages under Erlang:
- Start here: What is Erlang and where it runs — then follow the chain through lesson 50.
- Language core, lessons 2-20: install, erl, first script, variables, numbers, strings, atoms, truthiness, conditions, recursion, lists, tuples, maps, functions, pattern matching, guards, records, exceptions, modules.
- Design and OTP, lessons 21-40: funs, higher-order functions, keyword lists, idioms, rebar3, EUnit testing, debugging, encodings, time, JSON and YAML, processes, spawn links, monitors, GenServer, supervisors, OTP apps.
- Finish, lessons 41-50: let it crash, ETS tables, timers, code loading, distributed Erlang, two capstones (todo CLI and TCP server), performance, modern Erlang tour, and the hero roadmap with every lesson on one page.
Course tree
TREE_PLACEHOLDER
How to use this course
Type every example, do not just read it. Run each snippet with
erl or paste it into
erl before moving on - the course assumes
your hands remember lesson 4 by the time lesson 16 arrives.
The classic Erlang rules apply from day one: two-space indent,
CamelCase names, and parentheses omitted
where they add no meaning.