Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Real World OCaml: Functional Programming for the Masses

Real World OCaml: Functional Programming for the Masses
Open Access

Real World OCaml: Functional Programming for the Masses

2nd Edition
Anil Madhavapeddy , University of Cambridge
Yaron Minsky , Jane Street Group
September 2022
This ISBN is for an eBook version which is distributed on our behalf by a third party.
Adobe eBook Reader
9781009313582
$48.00
USD
Adobe eBook Reader
GBP
Paperback
View Open Access

    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.

    • Learn the foundations of the OCaml language, such as higher-order functions, algebraic data types, and modules
    • Explore advanced features such as functors, first-class modules, GADTs, and objects
    • Leverage Base, a comprehensive general-purpose standard library for OCaml
    • Design effective and reusable libraries, making the most of OCaml's approach to abstraction and modularity
    • Tackle practical programming problems from command-line parsing to asynchronous network programming
    • Examine profiling and interactive debugging techniques
    • This book is also available as open access

    Reviews & endorsements

    'An invaluable guide to effective OCaml programming! With extended and updated coverage of key libraries and tools, it covers the language concepts and will teach you not only how to program in OCaml, but also how to develop efficient systems applications in this language.' Xavier Leroy, Collège de France and INRIA

    '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

    See more reviews

    Product details

    September 2022
    Adobe eBook Reader
    9781009313582
    0 pages
    This ISBN is for an eBook version which is distributed on our behalf by a third party.

    Table of Contents

    • 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.
    Resources for
    Type
    Visit authors' webpage
      Authors
    • Anil Madhavapeddy , University of Cambridge

      Anil Madhavapeddy is Associate Professor in the Department of Computer Science and Technology at the University of Cambridge. He has used OCaml professionally for over two decades in numerous ventures, such as XenSource/Citrix and Unikernel Systems/Docker, and co-founded the MirageOS unikernel project. He is a member of the OCaml development team.

    • Yaron Minsky , Jane Street Group

      Yaron Minsky is Co-head of Technology at Jane Street, a major quantitative trading firm, where he introduced OCaml, and helped it become the firm's primary development platform. He is also the host of Jane Street's tech podcast, Signals & Threads, and has worked on everything from developer tools to trading strategies.