@@ -3,12 +3,13 @@
33import Control.Exception
44import Control.Monad
55import Data.Aeson
6−import Data.Attoparsec
6+import Data.Attoparsec (IResult(..), parseWith)
77import Data.Time.Clock
88import System.Environment (getArgs)
99import System.IO
1010import qualified Data.ByteString as B
1111
12+main :: IO ()
1213main = do
1314 (bs:cnt:args) <- getArgs
1415 let count = read cnt :: Int
@@ -23,10 +24,10 @@ main = do
2324 let refill = B.hGet h blkSize
2425 result <- parseWith refill json =<< refill
2526 case result of
26− Done _ r -> loop (good+1) bad
27+ Done _ _ -> loop (good+1) bad
2728 _ -> loop good (bad+1)
2829 (good, _) <- loop 0 0
2930 delta <- flip diffUTCTime start `fmap` getCurrentTime
3031 putStrLn $ " " ++ show good ++ " good, " ++ show delta
3132 let rate = fromIntegral count / realToFrac delta :: Double
32− putStrLn $ " " ++ show (round rate) ++ " per second"
33+ putStrLn $ " " ++ show (round rate :: Int) ++ " per second"