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. Functors
10. First-Class Modules
11. Objects
12. Classes
Part 2: Tools and Techniques
13. Maps and Hash Tables
14. Command-Line Parsing
15. Concurrent Programming with Async
16. Handling JSON Data
17. Parsing with OCamllex and Menhir
18. Data Serialization with S-Expressions
Part 3: The Compiler and Runtime System
19. Foreign Function Interface
20. Memory Representation of Values
21. Understanding the Garbage Collector
22. The Compiler Frontend: Parsing and Type Checking
23. Preprocessing with ppx
24. The Compiler Backend: Bytecode and Native code