David Roundy <[EMAIL PROTECTED]> writes:

> No, it's not Unix-specific, it's portable. If you want to write
> portable C code, you have to use the standard library, which means
> that file names are represented as Ptr CChar.

I disagree. We are talking about portable Haskell, not portable C.

The native Windows filename encoding (in WinNT) is UTF-16 (without
validation that surrogates are correctly paired). It provides API
which works with such filenames.

It also provides a compatibility layer on top of that, which tries
to translate filenames to some 8-bit encoding, but it should only be
used when porting C programs which can't be adapted to use Windows
filenames through their native type. Especially as Haskell already
uses Unicode - it's pointless to convert it to an 8-bit encoding and
back.

I don't know what these 8-bit WinAPI functions do when they encounter
filenames unrepresentable in the current 8-bit encoding.

-- 
   __("<         Marcin Kowalczyk
   \__/       [EMAIL PROTECTED]
    ^^     http://qrnik.knm.org.pl/~qrczak/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to