[Haskell-cafe] Unicode vs. System.Directory

Yitzchak Gale gale at sefer.org
Wed May 26 08:12:10 EDT 2010


Arie Peterson wrote:
> After upgrading to haskell-platform-2010.1.0.0, with the improved unicode
> support for IO in ghc-6.12, I hoped to be able to deal with filenames
> containing non-ascii characters. This still seems problematic, though

Yes, unfortunately. This is not simple to fix, for several
reasons:

o The impedance mismatch between various operating
  systems and file systems about how filenames are
  represented internally w.r.t. Unicode

o Haskell 98, which specifies that a FilePath is a
  String, i.e., Unicode

o Backwards compatibility with existing Haskell
  implementations, which abuse the String type
  and represent bytes in a file path as if they
  were Unicode characters

Johan Tibell wrote:
> This bug might be relevant:
> http://hackage.haskell.org/trac/ghc/ticket/3307

#3307 System.IO and System.Directory functions
      not Unicode-aware under Unix

Related bugs:

#3308 getArgs should return Unicode on Windows
#3309 getArgs should return Unicode on Unix
#4006 System.Process doesn't encode its arguments.

See the linked discussions in those bugs for
a lot more details, and various ideas about how
to proceed.

I hope your pinging this issue will bring it closer to
being resolved. It's important.

Thanks,
Yitz


More information about the Haskell-Cafe mailing list