[Haskell] strictness of putChar: report incomplete?
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Tue Oct 4 08:46:44 EDT 2005
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
More information about the Haskell
mailing list