This website is a set of practical, detailed tutorials for people who want to learn Objective CAML (often known as just "OCaml").

OCaml is a fast, concise and powerful language for application development - but I assume you already knew that, and I also assume you've managed to install it. If not, you can find out more at the main OCaml webpages or at the OCaml Alliance's getting started area.

Foreign language versions are:

Tutorials

See also:

Exercises

External tutorials

Official

General online tutorials

Lablgtk (Gtk interface)

LablGTK2 tutorial by SooHyoung Oh

Camlp4 (macro preprocessing)

A great tutorial on camlp4, on how to extend the syntax of OCaml with the Camlp4 standard tool (for ocaml 3.9.* but the basics are similar for the new version of camlp4 shipped with ocaml 3.10.*).

Lex and yacc (writing scanners and parsers)

Calling C libraries (the OCaml FFI)

Florent Monnier's tutorial for writing C wrappers

A post by Hendrik Tews to caml-list points out a few things you want to keep in mind when handling exceptions in C.

Books & magazines

OCaml-friendly tools

Community sites

OCamlCore is a community of OCaml users:

OCamlCore planet, collected blogs of OCaml programmers

OCamlCore forge is a development / hosting site for free software projects written in OCaml

The OCaml hump is a list of OCaml libraries and other projects.

Acknowledgements

Here are some of the people who have helped write this tutorial:

Doug Bagley

Nicolas Cannasse

Eric C. Cooper

Richard Donkin

Jim Farrand

Fabrice Le Fessant

Jacques Garrigue

Stephen Gilmore

Flavio Grossi

Damien Guichard

Brian Hurt

Neel Krishnaswami

Michel Levy

Sven Luther

John Gerard Malecki

Luc Maranget

Jean-Francois Monin

Markus Mottl

Thomas Mraz

Wolfgang Mueller

Lars Nilsson

Jose Manuel Nunes

Frederic van der Plancke

Paul Steckler

Fabian Sturm

Ryan Tarpine

Remi Vanicat

Yamagata Yoriyuki

Stefano Zacchiroli

Thanks to them and to all members of caml-list and ocaml-beginners.

This website is provided and funded by Merjis - leaders in Internet marketing.

About this wiki

This website is a wiki. This means you can edit any page to correct mistakes or improve the tutorial. Because of spammers signing up endless fake accounts, I have disabled new account creation. Please email rich on-the-annexia.org server for a new account.

If you are new to wikis, please use the Sandbox to try out editing (you can write anything in the sandbox).

Please discuss major changes in the Discussion area. Most pages also have their own discussion area (called "page/discussion") where you can discuss major changes affecting that page. If the discussion area for a page doesn't exist, just create it first.