Wolfgang Jeltsch wrote: > > Both GHC and Hugs provide openFileEx, which allows files to be read in > > binary mode (without EOL/EOF translations). > > So we have portable binary I/O, don't we? > > By the way, does one still read characters rather than bytes even if using > openFileEx?
openFileEx returns a Handle just like openFile, and functions such as hGetChar return a Char regardless of where the Handle came from. OTOH, those "Char"s are still just octets stored in an oversized container. > Is it guaranteed that one character corresponds to one byte when > using openFileEx? The report says almost nothing about the semantics of I/O. AFAICT, an implementation could write the data in EBCDIC without violating the letter of the report. OTOH, existing implementations (at least GHC and Hugs) currently read and write "8-bit binary", i.e. characters 0-255 get read and written "as-is" and anything else breaks, and changing that would probably break a fair amount of existing code. -- Glynn Clements <[EMAIL PROTECTED]> _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell