@@ -47,6 +47,31 @@ string h = do
47 t <- hGetContents h
47 t <- hGetContents h
48 rnf t `seq` return ()
48 rnf t `seq` return ()
55+lazy_string_utf8 h = do
56+ bs <- BL.hGetContents h
57+ let t = U8.toString bs
58+ rnf t `seq` return ()
60+lazy_string_utf8_len h = do
61+ bs <- BL.hGetContents h
62+ let t = U8.toString bs
65+strict_string_utf8 h = do
66+ bs <- B.hGetContents h
67+ let t = U8.toString bs
68+ rnf t `seq` return ()
70+strict_string_utf8_len h = do
71+ bs <- B.hGetContents h
72+ let t = U8.toString bs
51 [kind,name] <- getArgs
76 [kind,name] <- getArgs
52 h <- openFile name ReadMode
77 h <- openFile name ReadMode
@@ -59,3 +84,8 @@ main = do
59 "lazy" -> lazy h
84 "lazy" -> lazy h
60 "lazy_io" -> lazy_io h
85 "lazy_io" -> lazy_io h
61 "string" -> string h
86 "string" -> string h
87+ "string_len" -> string_len h
88+ "lazy_string_utf8" -> lazy_string_utf8 h
89+ "lazy_string_utf8_len" -> lazy_string_utf8_len h
90+ "strict_string_utf8" -> strict_string_utf8 h
91+ "strict_string_utf8_len" -> strict_string_utf8_len h