{-# LANGUAGE BangPatterns #-} {-# LANGUAGE ScopedTypeVariables #-} module Main where import qualified Data.ByteString as BS import qualified Data.Vector.Storable as DVS import Data.Word import GHC.Conc import HaskellWorks.Data.Bits.BitShown import HaskellWorks.Data.FromByteString import HaskellWorks.Data.Json.Succinct.Cursor import HaskellWorks.Data.Succinct.BalancedParens.Simple import HaskellWorks.Diagnostics.Time main :: IO () main = do bs <- BS.readFile "/Users/jky/Downloads/78mbs.json" !cursor <- measure (fromByteString bs :: JsonCursor BS.ByteString (BitShown (DVS.Vector Word64)) (SimpleBalancedParens (DVS.Vector Word64))) print (jsonTokenAt (firstChild cursor)) threadDelay 100000000 print (jsonTokenAt cursor) return ()