This project aims to write while-language which supports eval function. By the way, I've used OCaml's GADT to do it, and I try some amazing stuffs of this feature