[Haskell-cafe] Ready for testing: Unicode support for Handle I/O

Simon Marlow marlowsd at gmail.com
Wed Feb 4 04:16:57 EST 2009


Ross Paterson wrote:
> On Tue, Feb 03, 2009 at 04:42:44PM +0000, Simon Marlow wrote:
>> Unicode-aware Handles
>> ~~~~~~~~~~~~~~~~~~~~~
>>
>> This is a significant restructuring of the Handle implementation with
>> the primary goal of supporting Unicode character encodings.
>>
>> The only change to the existing behaviour is that by default, text IO
>> is done in the prevailing encoding of the system.  Handles created by
>> openBinaryFile use the Latin-1 encoding, as do Handles placed in
>> binary mode using hSetBinaryMode.
> 
> I would like to see the API make a type distinction between text
> handles with Char-based operations, and binary handles with Word8-based
> operations.  (And phase out openBinaryFile, hSetBinaryMode etc.)  It's a
> vital distinction that often trips people up.  Treating binary data as
> Chars with a Latin-1 encoding just feels like a kludge.

Yes I agree, but I think we should tackle that separately.  The important 
thing right now is that we can do I/O in the local encoding, and that 
existing programs that depend on reading/writing binary data using 
openBinaryFile will continue to work.

Let's get this in now, and then talk about a binary I/O layer later.  The 
restructuring I've done in the IO library should make it easier to separate 
the binary and text layers now too.

Cheers,
	Simon


More information about the Libraries mailing list