[project @ 1999-12-29 14:46:29 by simonpj]
[ghc-hetmet.git] / ghc / tests / io / should_run / io014.hs
1 import IO -- 1.3
2
3 main = 
4     sequence (map hIsOpen [stdin, stdout, stderr]) >>= \ opens ->
5     print opens >>
6     sequence (map hIsClosed [stdin, stdout, stderr]) >>= \ closeds ->
7     print closeds >>
8     sequence (map hIsReadable [stdin, stdout, stderr]) >>= \ readables ->
9     print readables >>
10     sequence (map hIsWritable [stdin, stdout, stderr]) >>= \ writables ->
11     print writables >>
12     sequence (map hIsBlockBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
13     print buffereds >>
14     sequence (map hIsLineBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
15     print buffereds >>
16     sequence (map hIsNotBuffered [stdin, stdout, stderr]) >>= \ buffereds ->
17     print buffereds
18   where
19     -- these didn't make it into 1.3
20     hIsBlockBuffered h = hGetBuffering h >>= \ b -> return $ case b of { BlockBuffering _ -> True; _ -> False }
21     hIsLineBuffered  h = hGetBuffering h >>= \ b -> return $ case b of { LineBuffering -> True; _ -> False }
22     hIsNotBuffered   h = hGetBuffering h >>= \ b -> return $ case b of { NoBuffering -> True; _ -> False }