OCaml tutorials

Your Help is Needed

Many of the tutorials below need updating and tutorials on many new topics are needed. Please contribute by visiting this project's repo on GitHub; you may use the issue tracker there to request or offer new tutorials. Thanks!

Learn by Doing

  • Try OCaml Online (by OCamlPro) allows you to immediately start learning OCaml in your browser, without installing it. Compiled as a single Javascript page, it gives you the full power of OCaml, even when your are disconnected from the network.
  • PLEAC-OCaml provides OCaml solutions to the complete set of problems originally posed in the very successful Perl Cookbook. OCaml is one of only 3 languages for which the full set of solutions has been provided.
  • Rosetta is a programming chrestomathy site. It provides solutions to the same task in many languages. Currently there are few tasks with OCaml solutions provided, but perhaps you would like to add new solutions.

Tutorials on OCaml

  • The OCaml System (by Inria) is the official user's manual. The first part provides an introduction to the core language, objects and classes, and modules. Previous versions are here.
  • How to wrap C functions to OCaml (by Florent Monnier) explains in an understandable way how to write C stubs to call C functions from OCaml and back. It features a lot of examples.
  • OCaml for scientific computation (by Thomas Fiscbacher), covers a broad sample of OCaml, from the basics to the C api.
  • A Concise Introduction to OCaml (by David Matuszek) gives a concise, yet broad, overview of the language and the standard library. It is rather old but most of what it says remains valid.

WikiBooks on OCaml

Tutorials on Tools

There are also tutorials that can be useful to learn how to use popular tools and libraries.

  • Camlp4 Tutorial (by Jake Donham), to build syntax extensions for OCaml with Camlp4.
  • Camlp4 Tutorial, to build syntax extensions for OCaml with Camlp4.
  • OCamllex Tutorial (by SooHyoung Oh), on how to create lexers using the ocamllex tool of the standard distribution.
  • OCamlyacc Tutorial (by SooHyoung Oh), on how to create parsers using the ocamlyacc tool of the standard distribution.
  • LablGTK 2.0 Tutorial (by SooHyoung Oh), on how to create graphical applications with the LablGTK library.
  • Camlp5

Coming From Another Language

These tutorials help learn OCaml from the perspective of being familiar with another language.

Advanced Tutorials & Articles