[MLton] mlnlffigen is awesome (was: bootstrap problem)
Matthew Fluet
fluet@cs.cornell.edu
Mon, 22 Aug 2005 09:22:23 -0400 (EDT)
>> I believe that changing the MLB path variable environment during
>> elaboration would seriously alter the semantics of "caching" a previously
>> elaborated .mlb file, which is a very important aspect.
>
> What I had in mind is that path variables would work just like other
> bindings; Path variable bindings imported from a basis would only effect
> paths in the scope of the import.
O.k., I see what you meant now. I agree that scoping of path variables in
this manner is much more consistent with the semantics of MLB files.
I'm still a little lukewarm on the idea; I don't know of a compelling
usage scenario, which isn't to say there isn't one.
It just seems to me that if you have something like:
var V1=d0
$(V1)/s1.sml
$(V1)/s2.sml
where you are importing multiple .sml files from the same path, then it
would be a good practice to define a single .mlb file in that directory:
var V1=d0
$(V1)/s.mlb
in which case, there isn't much advantage to a path variable:
d0/s.mlb