Simon Marlow wrote: >> It would probably be better to have an abstract FilePath type and to keep >> the original bytes, decoding on demand. But that is a big change to the API >> and would break much more code. One day we'll do this properly; for now we >> have this, which I think is a pretty reasonble compromise.
John Millikin wrote: > Please understand, I am not arguing against the existence of this > encoding layer in general. It's a fine idea for a simplistic > high-level filesystem interaction library. But it should be > *optional*, not part of the compiler or "base. The problem is that Haskell 98 specifies type FilePath = String. In retrospect, we now know that this is too simplistic. But that's what we have right now. > As implemented in GHC 7.2, this encoding is a complex and untested > behavior with no escape hatch. Isn't System.Posix.IO the escape hatch? Even though FilePath is still used there instead of ByteString as it should be, this is the low-level POSIX-specific library. So the old hack of interpreting the lowest 8 bits as bytes makes a lot more sense there. Thanks, Yitz _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users