new file:   ecompiler.ml