This is a prolog interpreter written in ocaml