
Glynn Clements wrote:
Which is unfortunate, because of the requirement to pass a Ptr. We really need "hPutBytes :: [Word8] -> IO ()" etc.
This is no real problem, see e.g. Abraham's recent mail. And having bulk operations like hGetBuf/hPutBuf available is vitally important, a list of bytes blows up the memory needs by about an order of magnitude and is quite slow. What I'm really missing in addition to that is standard support for "real world" representations of common data types.
Also, changing the existing functions to deal with encodings is likely to break a lot of things (i.e. anything which reads or writes data which is in neither UTF-8 nor the locale-specified encoding).
Hmmm, the Unicode tables start with ISO-Latin-1, so what would exactly break when we stipulate that the standard encoding for string I/O in Haskell is ISO-Latin-1? Additional encodings could be specified e.g. via a new "open" variant. Cheers, S.