
On 16 March 2005 03:54, Ian Lynagh wrote:
On Tue, Mar 15, 2005 at 10:44:28AM +0000, Ross Paterson wrote:
On Mon, Mar 14, 2005 at 07:38:09PM -0600, John Goerzen wrote:
I've got some gzip (and Ian Lynagh's Inflate) code that breaks under the new hugs with:
<handle>: IO.getContents: protocol error (invalid character encoding)
What is going on, and how can I fix it?
A Haskell 98 Handle is a character stream, and doesn't support binary I/O. This would have bitten you sooner or later on systems that do CRLF conversion, but Hugs is now much stricter, because character streams now use the encoding determined by the current locale (for the C locale, that means ASCII only).
Do you have a list of functions which behave differently in the new release to how they did in the previous release? (I'm not interested in changes that will affect only whether something compiles, not how it behaves given it compiles both before and after).
Simons, Malcolm, are there any such functions in the new ghc/nhc98?
Also, are you all agreed that the hugs interpretation of the report is correct, and thus ghc at least is buggy in this respect? (I'm afraid I haven't been able to test nhc98 yet).
GHC (and nhc98) assumes a locale of ISO8859-1 for I/O. You could consider that to be a bug, I suppose. We don't plan to do anything about it in the context of the current IO library, at least. Cheers, Simon