
I think runhugs should follow the report or what ghc does. I think it may be reasonable that interactive Haskell systems (e.g., Hugs) should behave differently from batch mode Haskell systems (e.g., ghc). At least, that's what I concluded 5+ years ago when I looked at it thoroughly. But, I think any difference can (and should) be restricted to changing the default echoing and buffering behaviour and should be changeable by calling hSetEcho and friends. -- Alastair Reid On Friday 01 August 2003 6:06 pm, Ross Paterson wrote:
Hugs currently turns off echoing of stdin before evaluation, and turns it on again afterwards. In partial compensation, getChar echoes chars to stdout (which is wierd if either stdin or stdout is redirected) but getContents doesn't.
Is there any reason to retain this behaviour, rather than treating stdin like any other handle? For applications that don't want echoing, we could provide implementations of the System.IO functions hSetEcho, hGetEcho and hIsTerminalDevice.