[Haskell-cafe] Unicode strings and runCommand / runProcess

Khudyakov Alexey alexey.skladnoy at gmail.com
Fri Apr 23 20:26:53 EDT 2010


В сообщении от 24 апреля 2010 03:50:54 John Goerzen написал:
> Ivan Lazar Miljenovic wrote:
> > John Goerzen <jgoerzen at complete.org> writes:
> >> ghci
> >> GHCi, version 6.12.1: http://www.haskell.org/ghc/  :? for help
> >> Loading package ghc-prim ... linking ... done.
> >> Loading package integer-gmp ... linking ... done.
> >> Loading package base ... linking ... done.
> >> Prelude> :m System.Process
> >> Prelude System.Process> runCommand "echo привет"
> >> ?@825B
> >
> > Are you arguing about IO-specific stuff like this, or for all non-ASCII
> > Strings?
> 
> I'm not sure I understand the question.  I consider the behavior in
> System.IO to be well-documented.  The behavior in System.Process is not
> documented at all.  As I said, I'm not certain what the proper answer
> is, but not documenting what happens probably isn't it.
> 
> Actually, the behavior of openFile when given a String with characters >
> 0xFF is also completely undocumented.  I am not sure what it does with
> that.  It should probably be the same as runCommand, whatever it is.
> 
Under unices file names are just array of bytes. There is no notion of encoding 
at all. It's just matter of interpretation of that array. 

There is a problem with FilePath data type. It's String actually but it should 
be abstract data type. There is relevant bug[1] on GHC trac.

P.S. openFile truncates Chars.

[1] http://hackage.haskell.org/trac/ghc/ticket/3307


More information about the Haskell-Cafe mailing list