GHC certain *could* do this, but it's arguably not the right thing to do.  For performance, the operating system buffers writes until it is ready to write large chunks at a time.  If you do not want this behavior, change the buffering mode from its default.

- Phil

On Feb 8, 2008 5:07 PM, Jonathan Cast <jonathanccast@fastmail.fm> wrote:
On 8 Feb 2008, at 4:50 PM, Brandon S. Allbery KF8NH wrote:

>
> On Feb 8, 2008, at 19:41 , Philip Weaver wrote:
>
>> Your "gsi> " is buffered because there's no newline at the end.
>> To flush the buffer and force it to be printed immediately, use
>> 'hFlush' from the System.IO library, or use 'hSetBuffering' from
>> that same library: http://haskell.org/ghc/docs/latest/html/
>> libraries/base/System-IO.html
>>
>> I believe you can observe the same behavior in C.
>
> Most C stdio libraries in my experience have extra code in the
> functions that read stdin to flush stdout first, specifically
> because of lazy people who don't pay attention to buffering.

Why can't GHC implement the same thing?

jcc

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe