[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / misc / examples / cats / hcat4.hs
1 module Main (mainPrimIO) where
2
3 import PreludePrimIO
4
5 mainPrimIO :: PrimIO ()
6 mainPrimIO
7  = copy (``stdin'' :: _FILE)
8         (``stdout'' :: _FILE)
9  where
10   copy inn out
11    = fread 1 4096 inn
12          `thenPrimIO` \ (n, s) ->
13      if n <= 0
14      then returnPrimIO ()
15      else fwrite s 1 n out `seqPrimIO`
16           copy inn out
17
18 -- 4,170,953 bytes/sec ( 600KB input)
19 -- 7,993,583 bytes/sec ( 9.3MB input)
20 -- 6,917,175 bytes/sec (25.5MB input)