Simon Marlow wrote:
Duncan Coutts wrote:
Let's call this one proposal 0:
* Haskell98 file IO should always use UTF-8. * Haskell98 IO to terminals should use the current locale encoding.
and the others:
1. all text I/O is in the locale encoding (what C and Hugs do) 2. stdin/stdout/stderr and terminals are always in the locale encoding, everything else is UTF-8 3. everything is UTF-8
Some other points that came up on IRC: - there's a long precedent for behaving differently when connected to a terminal. For example, 'ls' formats output in columns when connected to a terminal, or displays output in colour. This is a point in favour of (0). - we might expect that "prog file" behaves the same as "prog <file", which would rule out (2). - (3) doesn't actually make "prog | cat" do the right thing if your locale is not UTF-8, it just makes "prog | cat" the same as "prog" alone (i.e. consistently wrong, which is perhaps better than inconsistently wrong). Cheers, Simon _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users