Skip to product information
1 of 1
Regular price £30.99 GBP
Regular price £34.99 GBP Sale price £30.99 GBP
Sale Sold out
Free UK Shipping

Freshly Printed - allow 8 days lead

Real World OCaml: Functional Programming for the Masses

A pragmatic guide that takes you from the basics of OCaml language to an understanding of type-system, toolchain, and runtime.

Anil Madhavapeddy (Author), Yaron Minsky (Author)

9781009125802, Cambridge University Press

Paperback / softback, published 13 October 2022

512 pages
24.3 x 16.9 x 2.5 cm, 0.95 kg

'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

This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the book's many examples, you'll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code using functional programming. Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. You'll also delve deep into the details of the compiler toolchain and OCaml's simple and efficient runtime system. This second edition brings the book up to date with almost a decade of improvements in the OCaml language and ecosystem, with new chapters covering testing, GADTs, and platform tooling. This title is also available as open access on Cambridge Core, thanks to the support of Tarides. Their generous contribution will bring more people to OCaml.

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.

Subject Areas: Software Engineering [UMZ], Programming & scripting languages: general [UMX], Functional programming [UMJ]

View full details