Similarly to what exists for Haskell, I wanted to make a curated collection of good resources for getting started with OCaml.
Follow the installation instructions from the Real World OCaml book available here. This will get you accustomed to
- Opam, the package manager, which also gives to the possibility of switching between OCaml versions.
- Utop, a modern interactive toplevel
- Set up of your enviroment, in particular #use "topfind" so that Utop finds your packages installed by Opam.
- Cornell's "CS 3110 - Data Structures and Functional Programming" have very good lecture notes available online. The programming assignments seem to be good quality overall but some depend on code and/or tools not available for download.
- OCaml for the Skeptical, with course material found here.
- Real World OCaml by Yaron Minsky, Anil Madhavapeddy, Jason Hickey. Arguably the best and most up-to-date book on OCaml, as well as freely available online.
- Introduction to Objective Caml by Jason Hickey.
- Developing Applications With Objective Caml by Emmanuel CHAILLOUX, Pascal MANOURY, Bruno PAGANO.
- Using, Understanding, and Unraveling The OCaml Language by Didier Rémy
Tip: Focus on the material in Real World OCaml, and use the other resources as complementary material when you want more examples or alternative explanations of a concept.
The OCaml website has got a lot of good material. Most notably:
Let me know if you have comments or other resources that should be added!
https://github.com/rizo/awesome-ocaml can be a good starting point. And you can contribute. A "getting started" section may be a good idea.