Start reading Real World OCaml: Functional programming for the masses on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Real World OCaml: Functional programming for the masses

Real World OCaml: Functional programming for the masses [Kindle Edition]

Yaron Minsky , Anil Madhavapeddy , Jason Hickey
3.0 out of 5 stars  See all reviews (1 customer review)

Print List Price: £25.99
Kindle Price: £15.14 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £10.85 (42%)
* Unlike print books, digital books are subject to VAT.


Amazon Price New from Used from
Kindle Edition £15.14  
Paperback £16.94  
Kindle Daily Deal
Kindle Daily Deal: At least 60% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Special Offers and Product Promotions

  • Purchase any Kindle Book sold by and receive £1 credit to try out our Digital Music Store. Here's how (terms and conditions apply)

Product Description

Book Description

Functional programming for the masses

Product Description

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.

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. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.

  • Learn the foundations of the language, such as higher-order functions, algebraic data types, and modules
  • Explore advanced features such as functors, first-class modules, and objects
  • Leverage Core, 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 with tools such as GNU gdb

Product details

  • Format: Kindle Edition
  • File Size: 2234 KB
  • Print Length: 510 pages
  • Simultaneous Device Usage: Unlimited
  • Publisher: O'Reilly Media; 1 edition (4 Nov 2013)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B00GG21E2O
  • Text-to-Speech: Enabled
  • X-Ray:
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #333,256 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

More About the Authors

Discover books, learn about writers, and more.

Customer Reviews

5 star
4 star
2 star
1 star
3.0 out of 5 stars
3.0 out of 5 stars
Most Helpful Customer Reviews
5 of 6 people found the following review helpful
3.0 out of 5 stars Good 23 Nov 2013
A solid book which would get four stars if not for the following:

- Concurrency chapter is weak, although I acknowledge that this is a problem with OCaml in general. In 2013 it's not reasonable to have a weak chapter on concurrency.

- Not as good as its sibling, Real World Haskell. Unfortunately, I have read RWH and this book is a step down in terms of content and general quality. Perhaps the titles should have differed so that the reader didn't relate the two works. (This is not an issue for those who haven't read RWH.)

- In a number of situations the authors did not qualify why certain tools were used, which I found a shame. For example, why Core.Async as opposed to, say, Lwt, or similar? Where does Menhir sit w.r.t. ANTLR or parser combinators? Or, more fundamentally, why are we using Jane Street's overlay at all, other than one of the author's working there?

It's encouraging to see two new books on OCaml, and I hope that this sparks further knowledge investment in OCaml, which to a large extent, IMO, is being driven by the community around OPAM.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.5 out of 5 stars  6 reviews
30 of 32 people found the following review helpful
5.0 out of 5 stars Adding libraries and imperative makes this one of a kind 15 Nov 2013
By Let's Compare Options - Published on
Format:Kindle Edition|Verified Purchase
Beginners in OCaml will probably want to peruse Whitington first-- OCaml from the Very Beginning before buying this wonderful text. The format is a fast paced "tutorial" covering all the major, including advanced, functions of OCaml. I'm an old Lisp and current Haskell programmer, and this book really opened my eyes about OCaml beyond academia. Google's using it for systems, big data and domain projects. One of the authors uses it as the main engine for a trading platform. In short, this fascinating hybrid is finding many more applications beyond software engineering education. And like other functionals, its math abilities are awesome.

The text has O'reilly's quality and the code, even for a brand new work, is nearly flawless. I was frankly unfamiliar with Core, the largest OCaml library, which is why I have preferred the Haskell community, APIs, libraries and SDKs for a long time. No longer! I'm a functional programmer at heart, but to survive today you have to pick up Java, C#, Python, etc. Amazingly (to me, you probably knew this), OCaml has a very cool "imperative" engine in addition to its native functional design. The authors get right into opening Core first as if you were laying an SDK or IDE foundation with that library-- meaning you don't have to spend hours on the web before trying the hundreds of examples.

The "dual nature" or hybrid (imperative and functional) also means you can pick a seminal topic like recursion, for example, and build a loop function just like you would in Haskell. OR, in addition to native functional recursion, you can also use an imperative loop structure such as FOR or WHILE. I compared a FOR imperative with a Sudoku solving functional recursion loop I use all the time (# let rec find _first_stutter list= etc.), and the imperative beat the functional by almost 10 seconds for a very difficult trial. This is amazing not due to my poor functional skills, but due to the fact that my functional skills far outweigh imperative-- OC is a lot more fogiving than I imagined even in imperative!

Very honestly if a young student was interested in functional, I'd recommend Haskell due mostly to the online community and many fine and growing libraries. This awesome gem of a text changes my mind about that. In nearly 500 pages, the authors convincingly show real world example after example-- including MANY from standard coding interviews-- that prove OC is all grown up far beyond Domain Specific Language and academic applications. Big data is now trending heavy stats too, and OC makes R unnecessary due to its many native calc abilities. I've also heard that Amazon is using it in new Web x.o apps, and if I click on Amazon Pizza, and my doorbell rings 10 seconds later, OCaml will now be on my suspect list after reading this text.

The book is a true triple threat, as a reference, teaching guide/text, and especially as an autodidactic self tutorial even for those with basic beginning skills. OC even has its own parsing generators (akin to lex/yacc/bison etc.) that are smoking even if you don't write compilers, but deal a lot with strings and lists. I've read that big data folk all over the industry (including Facebook and Twitter) are using OC more and more, and this fine text taught me why.

I got both the print and Kindle versions and prefer the print. Kindle isn't as badly slaughtered in code examples (real, not just pseudo) as some e readers, but function arguments in this language are more like UNIX than C#, and spacing matters, so consider that if you're planning on using the kindle code as written. Of course O'reilly is renowned for web support and virtually all the examples are online without the onerous "don't ever use this" statements of a lot of publishers. Highly recommended as a second text after Whitington if you're new to functional, or a first text if you're at least intermediate at Haskell or an imperative, and are ready to explore a really cool new alternative.

JOB TIP: Since so many tasty companies are getting into this now, I'm thinking you might be able to distinguish yourself as a programming candidate if you learn this language, separating you from the herd! I'm not thinking many folk have figured this out yet, so go for it, and God love you! I'm too old to look through that lens, but hope it helps some of you young geniuses.
6 of 7 people found the following review helpful
5.0 out of 5 stars A great book for anyone wishing to learn OCaml or improve their OCaml skills. 28 Dec 2013
By David Scott - Published on
I've programmed OCaml professionally for several years and I recommend this book. If you already know some OCaml, this book will give you useful ideas and help you become a better programmer. If you aren't yet familiar with OCaml but have programmed in another language before then it'll help to get you up to speed with OCaml quickly. If you aren't yet a programmer, then consider buying this book together with "OCaml from the very beginning" by John Whitington.

This book starts with a gentle introduction to OCaml which is aimed at people who already have some programming experience, but who may not be familiar with a statically-typed language like OCaml. Part 2 of the book ("tools and techniques") demonstrates how to perform practical tasks such as: parse command-lines, read and write JSON formatted data and handle concurrent I/O; while part 3 dives into low-level detail including: interfacing to C and understanding the GC and compiler toolchain.

This is an inherently practical book. OCaml language concepts such as modules, signatures and functors are introduced and then demonstrated with practical examples. If only I'd skim-read the chapter on functors a few weeks ago -- the description of destructive substitution would have saved me a lot of time!

Throughout this book there is a strong emphasis on writing correct code, using the OCaml type-system to keep you on track. The examples are all carefully chosen to be realistic programming tasks, such as: logging, terminal windowing via ncurses, performance measuring via "Core_bench" and interacting with web-services such as Github and DuckDuckGo via "Async". Anyone familiar with OCaml who reads this book will notice the heavy reliance on the "Core" library suite from Jane Street. Although I'm not (yet) a heavy user of Core, nevertheless its design as started to influence the way I write OCaml code (for the better). For example, encouraged by this book and by Core, I've started to factor my signatures and use "include" to declare common patterns across my types. When time permits I intend to try some of the Core syntax extensions for s-expression serialisation, generating comparison operators and field accessor functions.

This is a great book for anyone wanting to explore OCaml or get a taste for practical functional programming.
5 of 6 people found the following review helpful
5.0 out of 5 stars One of the best 3 Feb 2014
By Nick Zalutskiy - Published on
Format:Kindle Edition|Verified Purchase
I struggle to express how much I enjoyed this text.

Go read the table of contents to get a glimpse of what it promises. Go read the book and it will deliver.

You go from "3 + 4" to the runtime system and the compiler in 500 pages and it makes sense the entire way. There is no filler content here, only clear text accompanied by excellent examples. The presentation is refreshing: here's a concept, here's an example, here's a practical problem with this code, here's how the language solves this problem, in practice there is this and that tradeoff. I wish more books were written like this.

While I can't think of a better way to learn OCaml and to explore its ecosystem, I suspect that the pace might be overwhelming for a total beginner. However, considering the value per page that I've gotten from this book, I welcome the tradeoff.

Buy it!
5.0 out of 5 stars Useful Ocaml book 27 Jun 2014
By Demian - Published on
Format:Paperback|Verified Purchase
This is a great book, the level of detail it provides is fundamental to understand the Ocaml language.
Functional Programming is an interesting paradigm, and as internet will evolve in the future,
we'll for sure see languages like OCaml, Erlang or Haskell taking more relevance into the programming scene given the scalibility and power they have to offer.

Damian Martinez Murguia
3 of 5 people found the following review helpful
5.0 out of 5 stars Very interesting read 25 Dec 2013
By J. Rozentur - Published on
I have not yet finished the book, just a couple of chapters, and I am hooked already. A lot of cool features of Scala apparently originate in OCaml

The style of presentation is both effective and enjoyable. Useful insights

Will I program in OCaml? Who knows... But the book certainly helps understand functional programming better, and OCaml is just so elegant... I study a lot of languages, but this one is a pleasant surprise!

Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category