buffering

BlockBuffering :: (Maybe Int) -> BufferMode
base System.IO, base GHC.IO.Handle
block-buffering should be enabled if possible. The size of the buffer is n items if the argument is Just n and is otherwise implementation-dependent.
hGetBuffering :: Handle -> IO BufferMode
base System.IO, base GHC.IO.Handle
Computation hGetBuffering hdl returns the current buffering mode for hdl.
hSetBuffering :: Handle -> BufferMode -> IO ()
base System.IO, base GHC.IO.Handle
Computation hSetBuffering hdl mode sets the mode of buffering for handle hdl on subsequent reads and writes. If the buffer mode is changed from BlockBuffering or LineBuffering to NoBuffering, then * if hdl is writable, the buffer is flushed as for hFlush; * if hdl is not writable, the contents of the buffer is discarded. This operation may fail with: * isPermissionError if the handle has already been used for reading or writing and the implementation does not allow the buffering mode to be changed.
LineBuffering :: BufferMode
base System.IO, base GHC.IO.Handle
line-buffering should be enabled if possible.
NoBuffering :: BufferMode
base System.IO, base GHC.IO.Handle
buffering is disabled if possible.