ML interpreter written in Prolog