Part 1: Language Concepts
1. A Guided Tour
2. Variables and Functions
3. Lists and Patterns
4. Files, Modules, and Programs
5. Records
6. Variants
7. Error Handling
8. Imperative Programming
9. GADTs
10. Functors
11. First-Class Modules
12. Objects
13. Classes
Part 2: Tools and Techniques
14. Maps and Hash Tables
15. Command-Line Parsing
16. Concurrent Programming with Async
17. Testing
18. Handling JSON Data
19. Parsing with OCamllex and Menhir
20. Data Serialization with S-Expressions
21. The OCaml Platform
Part 3: The Compiler and Runtime System
22. Foreign Function Interface
23. Memory Representation of Values
24. Understanding the Garbage Collector
25. The Compiler Frontend: Parsing and Type Checking
26. The Compiler Backend: Bytecode and Native code