[MLton] Windows ports and paths

Andreas Rossberg rossberg@ps.uni-sb.de
Tue, 03 May 2005 18:36:50 +0200


Oh, it seems I missed out on some of the initial fun in the discussion 
by skipping over it too fast. :)

>>Now, this would effectively rule out paths like "\b\c" or even "\", i.e.
>>every absolute path had to contain a volume.
> 
> This is what got me thinking they meant absolute = stable under chdir.
> In other words, you must have a volume name to be absolute.

I see, yes, I was guessing along these lines as well.

> I don't think it really does contradict it.
> fromString "\" = { isAbs=true, arcs=[""], vol="" } as described.
> It's just that toString will raise Path. :-P

And that implies a contradiction, because it is also specified that 
toString o fromString is the identity.

In my opinion, the preferable way to resolve this is by ignoring the 
nonsensical restriction in validVolume.

> However, I agree that it is stupid.
> I really dislike that "\" is an absolute path...
> If it's absolute, you should not have to worry about doing a chdir()!

Indeed, but it's even less so a relative path, because you cannot simply 
concatenate it to a given dir.

The whole ugliness stems from DOS rather than the Basis, which just 
tries to live up to it with minimal fuss. ;-)

> Grrr. I don't think the person who wrote this ever used windows. ;-)

You bet.

-- 
Andreas Rossberg, rossberg@ps.uni-sb.de

Let's get rid of those possible thingies!  -- TB