10/06/2011

Resources for Learning OCaml

Getting started

Caml Trading Video of a lecture by Yaron Minsky where he explains why Ocaml is a good language for printing money on Wall St. Introduction to Caml One long page which briefly touches on the core features of OCaml. OCaml for scientific computation Longer than the above tutorial, teaches you the basics of OCaml programming with code examples from scientific computing and compares how given algorithms would be implemented in other languages. PLEAC A port of the "Perl Cookbook" to OCaml. Every time you wonder "How do I <do some common task> in OCaml?", go here.

Quick references

Books

Real World OCaml. The best and most comprehensive OCaml book currently available. Unix system programming in OCaml A guide to lower level programming (file manipulation, sockets, threads, etc..) by two prominent OCaml researchers. Developing Applications With Objective Caml It's not a perfect book (slightly outdated, ugly HTML formatting) but still a good read. The book starts from language fundamentals (types, functions, control structures, modules) and works up to some interesting applications (spelling correcter, minesweeper clone, alpha-beta pruning). Also covers more advanced topics like concurrency, when to use modules vs. objects, and using some of the associated OCaml tools.

Standard Tools

In addition to learning the language, it also helps to know about a few tools which will make your life easier.

Unit testing: OUnit

Finding a library: findlib

Building: ocamlbuild

Coding in Emacs: TuaregMode

Coding in Eclipse: OcaIDE

Parsing: Menhir

Not rewriting the standard library: Core or Batteries

For an example of a project with multiple source files and unit tests, check out ocaml_skeleton.

Advanced Stuff & Blogs