Skip to content

Reading paths ​

Pick a goal and read the pages in order. On each page, Mark as read ticks it here and in the sidebar. Your progress stays in this browser and is never sent anywhere.

New to Elixir

The language itself, from values to loops. Start here if you have not written Elixir before.

0 of 9 readStart: Introduction

  1. Introduction
  2. Basic types
  3. Lists and tuples
  4. Pattern matching
  5. case, cond, and if
  6. Anonymous functions
  7. Modules and functions
  8. Recursion
  9. Enumerables and Streams

Data, types and protocols

How Elixir models data: maps, structs, protocols, binaries and the type system.

0 of 7 readStart: Keyword lists and maps

  1. Keyword lists and maps
  2. Structs
  3. Protocols
  4. Binaries, strings, and charlists
  5. Typespecs reference
  6. Gradual set-theoretic types
  7. Set-theoretic types cheatsheet

Processes and fault tolerance

Processes, state, supervision and the module docs behind them. Do the language track first.

0 of 10 readStart: Processes

  1. Processes
  2. Simple state with agents
  3. Client-server with GenServer
  4. Registries and supervision trees
  5. Supervising dynamic children
  6. Process
  7. Task
  8. Registry
  9. Supervisor
  10. Process-related anti-patterns

Build, test and ship a project

From mix new to a release, with tests and debugging on the way.

0 of 7 readStart: Introduction to Mix

  1. Introduction to Mix
  2. Doctests, patterns, and with
  3. ExUnit
  4. Configuration and distribution
  5. Releases
  6. Debugging
  7. IEx

Meta-programming

Code that writes code: quoted expressions, macros, DSLs, and when not to.

0 of 4 readStart: Quote and unquote

  1. Quote and unquote
  2. Macros
  3. Domain-Specific Languages
  4. Meta-programming

Site code: MIT. Pages and diagrams are derived from the Elixir documentation (Apache-2.0, snapshot of 2026-10-08, Elixir 1.20). Not affiliated with the Elixir Team.