About OCaml

let rec fib = function | 0 -> 1 | 1 -> 1 | n -> fib (n - 1) + fib (n - 2)

OCaml is an industrial strength programming language supporting functional, imperative and object-oriented styles - but don't worry if you're not familiar with these, as it's used as a teaching language by a lot of institutions (including Cornell and Princeton).

One of the best features of OCaml is the rich and powerful type system - this is useful to catch some mistakes early on saving developers a huge amount of frustration. Also, type inference relieves developers from having to specify types in the code - the compiler will work these out for you!

It's used by Facebook (for static code analysis with Infer) and Jane Street (for providing strong guarantees for their internal trading systems), and has influenced the F# functional programming language and ReasonML.