Learn

What is OCaml? OCaml is a general purpose industrial-strength programming language with an emphasis on expressiveness and safety. It is the technology of choice in companies where a single mistake can cost millions and speed matters, and there is an active community that has developed a rich set of libraries. It's also a widely used teaching language. Read more.
Code Examples
(* If [l] is the list [e1;…;eN] *)
(* e1 +. … +. eN *)
List.fold_left ( +. ) 0. l
(* e1 *. … *. eN *)
List.fold_left ( *. ) 1. l
(* e1 && … && eN *)
List.fold_left ( && ) true l
(* Reverse: [eN;…;e1] *)
List.fold_left
(fun r e -> e :: r) [] l
Tutorials & FAQ
Books


There are a number of excellent books, with two new titles published in 2013.
Online Courses, Slides & Videos
A massive open online course (MOOC) entirely centered around OCaml is now available, and runs once a year!
Learn more, and register now on the FUN platform!
An invited talk by Xavier Leroy explaining the current state of OCaml at the OCaml Users and Developers Workshop 2014 in Gothenburg, Sweden (PDF slides, Video).
A guest lecture given by Yaron Minsky of Jane Street about how to program effectively in ML. The talk was given as part of the intro computer science class at Harvard, CS51, where the students had spent much of the semester programming in OCaml.
Industrial Users
Jane Street is a quantitative
proprietary trading firm with a unique focus on technology
and collaborative problem solving. Almost all of our
systems are written in OCaml: from statistical research code
operating over terabytes of data to systems management tools
to our real-time trading infrastructure. And those systems
are deployed at real scale: on an average day, our trading
represents between 1% and 2% of US equity volume.
To
handle their huge PHP codebase, Facebook developed
pfff,
a set of tools and APIs to perform static analysis,
dynamic analysis, code visualizations, code navigations,
and style-preserving source-to-source transformations such
as refactorings on source code. They also designed
Hack, a new statically typed
programming language for HHVM, a fast PHP runtime.
See Julien Verlaguet's
CUFP talk and
slides.
Success Stories
Unison is an innovative two-way
file synchronizer stemming from the
latest research. It is resilent to failures
and runs on Windows as well as most flavors of Unix,
including MacOSX.
OCaml helped the authors to
“organize a large and intricate codebase”.
Developed by LexiFi, the Modeling Language
for Finance (MLFi) is the first formal language that
accurately describes the most sophisticated capital
market, credit, and investment products. MLFi is
implemented as an extension of OCaml.
FFTW
is a very Fast Fourier Transform library developed at MIT
that competes with vendor-tuned codes
while remaining platform independent.
The code is generated by
genfft
,
written in OCaml, that
“discovered” algorithms that were previously unknown.
It was awarded the
J. H. Wilkinson Prize for Numerical Software
that rewards software that "best addresses all phases of
the preparation of high quality numerical software."