[MLton] cvs commit: world no longer contains a preprocessed basis library

Matthew Fluet fluet@cs.cornell.edu
Fri, 5 Dec 2003 16:50:59 -0500 (EST)


>   I would like to provide support for preprocessing and caching prefixes
>   of programs, but in a more general way that allows users to build a
>   world for any prefix, not just the basis library.  If any one else
>   wants to give this a try, it should be a pretty simple project that
>   will provide a nice feature.  Anyways, speak up on this list and we
>   can discuss designs.

Would it makes sense to combine this with one of the CM replacement
proposals?  That would seem to be a nice way to do it, although certainly
not the only way.

I would imagine something like:

mlton -write-lib newA.world foo.mlb
mlton -read-lib newA.world -write-lib newB.world bar.mlb
mlton -read-lib newB.world -write-lib newC.world baz.mlb

which would result in newC.world having the all the bases of foo, bar, and
baz.

Also, any more thoughts on doing one of the CM replacements?  I was
playing around with SML/NJ's  GenSML  to try and port John Reppy's ml-doc
tools, but the problem is that (unsurprisingly)  GenSML  is really
GenSMLNJ and uses the extended syntax  functor G = F, which is rejected by
MLton.  I know that allowing functor rebinding was a proposal for the CM
replacement.