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.
‘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
Contents
Contents
-
Frontmatter
pp i-iv
-
-
- You have access
- Open access
- Export citation
-
-
Dedication
pp v-vi
-
-
- You have access
- Open access
- Export citation
-
-
Contents
pp vii-xvi
-
-
- You have access
- Open access
- Export citation
-
-
1 - Prologue
pp 1-6
-
-
- You have access
- Open access
- Export citation
-
-
Part I - Language Concepts
pp 7-8
-
-
- You have access
- Open access
- Export citation
-
-
2 - A Guided Tour
pp 9-30
-
-
- You have access
- Open access
- Export citation
-
-
3 - Variables and Functions
pp 31-49
-
-
- You have access
- Open access
- Export citation
-
-
4 - Lists and Patterns
pp 50-65
-
-
- You have access
- Open access
- Export citation
-
-
5 - Files, Modules, and Programs
pp 66-84
-
-
- You have access
- Open access
- Export citation
-
-
6 - Records
pp 85-98
-
-
- You have access
- Open access
- Export citation
-
-
7 - Variants
pp 99-118
-
-
- You have access
- Open access
- Export citation
-
-
8 - Error Handling
pp 119-133
-
-
- You have access
- Open access
- Export citation
-
-
9 - Imperative Programming
pp 134-165
-
-
- You have access
- Open access
- Export citation
-
-
10 - GADTs
pp 166-190
-
-
- You have access
- Open access
- Export citation
-
-
11 - Functors
pp 191-208
-
-
- You have access
- Open access
- Export citation
-
-
12 - First-Class Modules
pp 209-222
-
-
- You have access
- Open access
- Export citation
-
-
13 - Objects
pp 223-236
-
-
- You have access
- Open access
- Export citation
-
-
14 - Classes
pp 237-260
-
-
- You have access
- Open access
- Export citation
-
-
Part II - Tools and Techniques
pp 261-262
-
-
- You have access
- Open access
- Export citation
-
-
15 - Maps and Hash Tables
pp 263-279
-
-
- You have access
- Open access
- Export citation
-
-
16 - Command-Line Parsing
pp 280-296
-
-
- You have access
- Open access
- Export citation
-
-
17 - Concurrent Programming with Async
pp 297-324
-
-
- You have access
- Open access
- Export citation
-
-
18 - Testing
pp 325-344
-
-
- You have access
- Open access
- Export citation
-
-
19 - Handling JSON Data
pp 345-360
-
-
- You have access
- Open access
- Export citation
-
-
20 - Parsing with OCamllex and Menhir
pp 361-373
-
-
- You have access
- Open access
- Export citation
-
-
21 - Data Serialization with S-Expressions
pp 374-387
-
-
- You have access
- Open access
- Export citation
-
-
22 - The OCaml Platform
pp 388-402
-
-
- You have access
- Open access
- Export citation
-
-
Part III - The Complier and Runtime System
pp 403-404
-
-
- You have access
- Open access
- Export citation
-
-
23 - Foreign Function Interface
pp 405-423
-
-
- You have access
- Open access
- Export citation
-
-
24 - Memory Representation of Values
pp 424-434
-
-
- You have access
- Open access
- Export citation
-
Metrics
Altmetric attention score
Full text views
Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...
* Views captured on Cambridge Core between #date#. This data will be updated every 24 hours.
Usage data cannot currently be displayed.