1+1=1 : an optimizing Caml compiler
Abstract
We present a new Caml compiler, which was obtained by an original approach: a simple pipeline between two existing compilers, each one devoted to half of the compilation process. The first compiler is a Caml compiler, it is in charge of the front end, and ensures compatibility. The second compiler is an optimizing Scheme compiler, it constitutes the back end, and ensures efficiency. These are \camlc\ 0.6 byte-code compiler and a Scheme compiler (Bigloo). Using this technology, we were able to write the optimizing compiler in only two man-months. The new compiler is bootstrapped, fully compatible with the \camlc\ 0.6 compiler, and features interesting inter-module optimizations for curried functions. It produces efficient code, comparable with the one produced by the best ML compilers. Our new compiler, Bigloo, is freely available Anonymous ftp on ftp.inria.fr (192.93.2.54), file lang/caml-light/bcl1.6c.0.2unix.tar.Z.. 232z