An interpreter for the Tiger programming language written in OCaml