David,

On Thu, 2015-10-15 at 15:18 +0100, David Matthews wrote:
> I've committed a change to the NestedUse branch which is one possible 
> solution to this.  The version of "use" in there records the full path 
> to the parent directory of the file name when a file is "used".  If that 
> file then contains a nested call to "use" the file is first checked as 
> previously using the original working directory but if that fails it 
> looks for the name by appending the parent directory to the name given. 
>   So in the example above, it would first look for "./first.ML" and only 
> if that does not exist would it look for "/home/david/mydirectory/first.ML".

With this change,
  use "/home/david/mydirectory/ROOT.ML";
will work as intended *unless* there happens to be a file 'first.ML' in
the current directory. In my view, this is a rather obscure error
condition with great potential for accidental surprises.

The current implementation at least has a simple specification. Also,
it is not at all uncommon to interpret paths relative to the current
working directory; e.g., bash does the same.

What may be missing in SML is a way to determine the name and path of
the file that is being 'used.'

Best,
Tjark


_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to