OCaml is a powerful programming language from the functional programming family. Its main strengths are ease of use and type safety.

This book aims at being an introduction to functional programming with OCaml (or 'Objective Caml').

For learning more about the OCaml language and how it is linked to other languages, don't hesitate to read Wikipedia's article about OCaml.



Beginner Level

  1. Introduction
  2. Getting Started
  3. Basics of Programming
  4. Lists
  5. Arrays
  6. Types
  7. Functions
  8. Operators
  9. Higher-order functions
  10. Abstract Data Types
  11. Modules

Intermediate Level

  1. Type Inference
  2. Functors
  3. GADTs
  4. Data structures
  5. Exceptions
  6. The Standard Library
  7. The Containers Library

Advanced Level

  1. Monads

Further reading