Objective Caml compiler and programming environment