OCaml From the Ground Up

This is a work in progress introductory book on OCaml.

Already available chapters:

  1. Preface
  2. Values and bindings
  3. Arithmetics
  4. Functions
  5. Booleans and conditional expressions
  6. Recursive functions
  7. Higher order functions and parametric polymorphism
  8. Algebraic data types and pattern matching
  9. Error handling
  10. Linked lists and structural recursion
  11. Records and references

Contributing

The git repo is at github.com/dmbaturin/ocaml-book.

What sets this book apart is that it's under CC-BY-SA, a free, strong copyleft license similar to the GNU GPL in spirit.

It belongs to the community and everyone can freely distribute and modify it. Even if the original authors no longer have time to maintain it, the community can keep it up to date and distribute updated versions.

Right now the book is obviously incomplete, but together we can complete it faster than I can do it alone. Every contribution counts! Beta reading and editing are important. If you want to write a whole chapter, that's even better.

Just like with free software, the copyright stays shared between all contributors.

Principles behind the book

  1. Build it bottom up, never introduce a concept before it can be fully explained.
  2. Stick with the standard library.
  3. When third-party libraries are used, mention it prominently and use fully qualified names.
  4. Don't make it REPL-centric.
  5. Do not mention foxes or chunky bacon.