[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