[Haskell-cafe] Core packages and locale support

Jason Dagit dagit at codersbase.com
Thu Jun 24 23:52:03 EDT 2010


On Sat, Jun 19, 2010 at 1:06 AM, Roman Cheplyaka <roma at ro-che.info> wrote:

> While ghc 6.12 finally has proper locale support, core packages (such as
> unix) still use withCString and therefore work incorrectly when argument
> (e.g. file path) is not ASCII.
>

Pardon me if I'm misunderstanding withCString, but my understanding of unix
paths is that they are to be treated as strings of bytes.  That is, unlike
windows, they do not have an encoding predefined.  Furthermore, you could
have two filepaths in the same directory with different encodings due to
this.

In this case, what would be the correct way of handling the paths?
 Converting to a Haskell String would require knowing the encoding, right?
 My reasoning is that Haskell Char type is meant to correspond to code
points so putting them into a string means you have to know their code point
which is different from their (multi-)byte value right?

Perhaps I have some details wrong?  If so, please clarify.

Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100624/234c4b7e/attachment-0002.html


More information about the Haskell-Cafe mailing list