OCaml compiler and programming environment