'OCaml is widely known as an elegant language based on cutting-edge ideas. But this book focuses on use of OCaml as a powerful tool for the software industry. Using a series of hands-on examples, it shows the reader how to use advanced features from the OCaml ecosystem (types, modules, testing frameworks, libraries, package management, build tools, etc.) to solve practical problems. Real World OCaml is my go-to reference for learning how to develop real-world software systems in OCaml.' Nate Foster, Cornell University
1. Prologue; Part I. Language Concepts: 2. A guided tour; 3. Variables and functions; 4. Lists and patterns; 5. Files, modules, and programs; 6. Records; 7. Variants; 8. Error handling; 9. Imperative programming; 10. GADTs; 11. Functors; 12. First-class Modules; 13. Objects; 14. Classes; Part II. Tools and Techniques: 15. Maps and hash tables; 16. Command-line parsing; 17. Concurrent programming with Async; 18. Testing; 19. Handling JSON data; 20. Parsing with Ocamllex and Menhir; 21. Data serialization with S-expressions; 22. The OCaml platform; Part III. The Compiler and Runtime System: 23. Foreign function interface; 24. Memory representation of values; 25. Understanding the garbage collector; 26. The compiler frontend: parsing and type checking; 27. The compiler backend: bytecode and native code; References; Index.