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

Stephen Weeks MLton@mlton.org
Mon, 15 Dec 2003 13:58:18 -0800


> So, we can infer that "main.sml" depends upon  structure A  which is
> described in  "AB/sources.cm".
...
> But, in any case, we can determine that "a.sml" depends upon
> structure X defined in "XYZ/sources.cm".
> 
> So, I believe that depends can be extracted from the graph, with some
> work. 

OK.  If I understand it correctly, it's not too much work -- you need
to figure out which files in a CM file provide which exports.  Then,
you can change your cmcat so that instead of grabbing a whole CM file,
you just grab the needed imports.

> And, my feeling is that given the work necessary to extract the
> depends function, one might as well just build the dependency graph.

Yes, I think the right thing is to build a graph in which nodes are
SML files and edges represent import dependencies.  That's what I was
thinking of for mlbs.

> Anyways, I'm not arguing that this is the way to go (for cmcat). 

It sounds like a good way to go to me (but then you're doing the cmcat
hacking :-)).  If it's not too hard to cut out those files and regain
the behavior of the old cmcat, we can be completely confident in
ditching the old one and using the new one in building the mlton cm
files.