#1355: Interactive I/O with ghc doesn't prompt until after reading
----------------------------------------------+-----------------------------
    Reporter:  [EMAIL PROTECTED]              |        Owner:         
        Type:  bug                            |       Status:  closed 
    Priority:  normal                         |    Milestone:         
   Component:  Prelude                        |      Version:  6.2    
    Severity:  normal                         |   Resolution:  invalid
    Keywords:  interactive stdio late prompt  |   Difficulty:  Unknown
          Os:  Multiple                       |     Testcase:         
Architecture:  Multiple                       |  
----------------------------------------------+-----------------------------
Comment (by simonmar):

 I'm aware that everyone else does this, and I'm aware that GHC is
 different.  Also, the predecessor to GHC's current I/O system had the
 behaviour you want.

 Nevertheless, I did it this way on purpose.  Why?  Because I think it's an
 ugly special case, and I didn't want to add it to the code.  If you expect
 stdin/stdout to have this odd interactive behaviour, you might start
 expecting it to happen on sockets too, and it won't.  The behaviour of
 buffering in GHC is simple and works the same on stdin/stdout as it does
 on all other Handles.  There's nothing in the Haskell 98 spec that
 requires us to have magic flushing of stdout.

 Still, you wouldn't be the first person to complain about this (it's
 question 6.1 in the FAQ!).  I guess I wouldn't object if someone were to
 submit a patch to implement this special case, as long as it didn't affect
 performance.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1355>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to