OCaml "OCaml is an industrial strength programming language supporting functional, imperative and object-oriented styles"