Add stage2/ghci to ghc-api's import list.
[ghc-hetmet.git] / ghc / misc / examples / cats / hcat5.hs
1 module Main (mainPrimIO) where
2
3 import PreludePrimIO
4
5 mainPrimIO :: PrimIO ()
6 mainPrimIO
7   = _ccall_ stg_getc (``stdin'' :: _Addr)
8                   `thenPrimIO` \ (I# ch) ->
9     if ch <# 0# then -- SIGH: ch ==# ``EOF''
10         returnPrimIO ()
11     else
12         _ccall_ stg_putc (C# (chr# ch))
13                   (``stdout'' :: _Addr)
14                             `seqPrimIO`
15         mainPrimIO
16
17 -- 1,737,897 bytes/sec ( 600KB input)
18 -- 1,808,993 bytes/sec ( 9.3MB input)
19 -- 1,711,850 bytes/sec (25.5MB input)