[MLton] Eliminating library elaboration time

Vesa Karvonen vesa.a.j.k at gmail.com
Sun Nov 11 13:36:54 PST 2007


On Nov 11, 2007 11:10 PM, Matthew Fluet <fluet at tti-c.org> wrote:
[...]
> That's probably the most expedient method.  Though, the Basis Library now
> also depends upon some compile time information; for example, the
> '-default-type tyN' option actually sets an ML Basis variable to load
> particular files in the Basis Library.  So, you'd need to check the
> up-to-dateness of files with respect to the expanded path (though, I
> suppose one would do that anyways).  You would just have this oddity that
> compiling with '-default-type intinf' could launch a recompile and dump of
> the world.

Yes, that is true.  I would probably make it so that with the default
verbose level the user wouldn't be notified of this.  So, to the user
it just seem like the compiler took a few seconds longer than usual.

> But, I also think that the compile time of the Basis Library is noise when
> compiling programs of interest (e.g., *real* programs, not Jon's 100 line
> raytracer).  It is not where I would spend my implementation effort.

I agree.  The problem is, of course, that sometimes appearance can be
deceiving.  I'm going to look into implementing this feature anyway.
Actually, I think that this feature could be quite useful with the
def-use mode.  If it cuts down elaboration time significantly, we
could then get almost immediate (a second or two?) update of def-use
information as a practical benefit.

-Vesa Karvonen



More information about the MLton mailing list