4 Oct
2005
4 Oct
'05
12:46 p.m.
I wrote:
ghc: putChar _|_ -> _|_
hugs: putChar _|_ -> valid IO ()
I think it comes down to buffering behaviour doesn't it?
Having reviewed the IRC logs, I see I was talking nonsense. You want to be able to store a closure for (putChar undefined) in a data structure, which seems like a perfectly reasonable thing to do. Provided the IO action is never actually run (after being retrieved from the data structure), the program really ought not to crash. I see that nhc98 and hbc agree with Hugs on this behaviour, so ghc _must_ be wrong. :-) Regards, Malcolm