@@ -0,0 +1,45 @@
1+import qualified Data.ByteString as B
2+import qualified Data.ByteString.Lazy as BL
3+import qualified Data.Text as T
4+import qualified Data.Text.IO as T
5+import qualified Data.Text.Encoding as T
6+import qualified Data.Text.Lazy as TL
7+import qualified Data.Text.Lazy.Encoding as TL
8+import qualified Data.Text.Lazy.IO as TL
9+import qualified Codec.Binary.UTF8.Generic as U8
10+import Control.DeepSeq
11+import System.Environment
15+ bs <- B.hGetContents h
16+ rnf (T.decodeUtf8 bs) `seq` return ()
20+ t <- T.hGetContents h
21+ rnf t `seq` return ()
24+ bs <- BL.hGetContents h
25+ rnf (TL.decodeUtf8 bs) `seq` return ()
29+ t <- TL.hGetContents h
30+ rnf t `seq` return ()
35+ rnf t `seq` return ()
38+ [kind,name] <- getArgs
39+ h <- openFile name ReadMode
42+ "strict_io" -> strict_io h
44+ "lazy_io" -> lazy_io h