[MLton] Windows ports and paths
   
    Stephen Weeks
     
    MLton@mlton.org
       
    Mon, 2 May 2005 13:19:27 -0700
    
    
  
Here's my take on what needs to be fixed.
* concat ("foo", "") should be "foo", not "foo/".  This can be fixed
  by replacing the special-case code in the definition of concat
    (if List.null a2 then [""] else a2)
  with simply "a2".
* joinDirFile should not trim the slash from the directory.  So, it
  should look something like 
    fun endsInSlash s = slash sub 0 = String.sub (s, size s - 1)
    fun joinDirFile {dir, file} =
       if not (isArc file) then raise InvalidArc
       else if 0 = size dir then file
       else if endsInSlash dir then String.concat [dir, file]
       else String.concat [dir, slash, file]
I've committed these changes.