Real World OCaml (2013)
Part I. Language Concepts
Chapter 2. Variables and Functions
Chapter 4. Files, Modules, and Programs
Chapter 8. Imperative Programming
Chapter 10. First-Class Modules
Part II. Tools and Techniques
Chapter 13. Maps and Hash Tables
Chapter 14. Command-Line Parsing
Chapter 15. Handling JSON Data
Chapter 16. Parsing with OCamllex and Menhir
Chapter 17. Data Serialization with S-Expressions
Chapter 18. Concurrent Programming with Async
Part III. The Runtime System
Chapter 19. Foreign Function Interface
Chapter 20. Memory Representation of Values
Chapter 21. Understanding the Garbage Collector
Chapter 22. The Compiler Frontend: Parsing and Type Checking
Chapter 23. The Compiler Backend: Bytecode and Native code