hw-succinct 0.0.0.5 → 0.0.0.7
raw patch · 7 files changed
+21/−32 lines, 7 filesdep +hw-primnew-uploader
Dependencies added: hw-prim
Files
- README.md +4/−3
- hw-succinct.cabal +6/−3
- src/HaskellWorks/Data/Attoparsec/Final/IsChar.hs +0/−17
- src/HaskellWorks/Data/Attoparsec/Final/Parser.hs +1/−1
- src/HaskellWorks/Data/Json/Final/Tokenize/Internal.hs +1/−1
- test/HaskellWorks/Data/Bits/BitReadSpec.hs +5/−4
- test/HaskellWorks/Data/Succinct/RankSelect/Binary/Poppy512Spec.hs +4/−3
README.md view
@@ -1,5 +1,6 @@-# hw-succinct-[](https://circleci.com/gh/haskell-works/hw-succinct)+# hw-bits+[](https://circleci.com/gh/haskell-works/hw-succinct/tree/v0.0-branch)+ Conduits for tokenizing streams. `hw-succinct` is a succinct JSON parsing library. It uses succinct data-structures to allow traversal of@@ -88,7 +89,7 @@ let !bs = BSI.fromForeignPtr (castForeignPtr fptr) offset size x <- measure $ BS.concat $ runListConduit [bs] (blankJson =$= blankedJsonToInterestBits) x <- measure $ jsonBsToInterestBs bs- + jsonTokenAt $ J.nextSibling $ J.firstChild $ J.nextSibling $ J.firstChild $ J.firstChild cursor ## References
hw-succinct.cabal view
@@ -1,5 +1,5 @@ name: hw-succinct-version: 0.0.0.5+version: 0.0.0.7 synopsis: Conduits for tokenizing streams. description: Please see README.md homepage: http://github.com/haskell-works/hw-succinct#readme@@ -23,6 +23,7 @@ , conduit , criterion , hw-bits+ , hw-prim , hw-succinct , mmap , resourcet@@ -31,8 +32,7 @@ library hs-source-dirs: src- exposed-modules: HaskellWorks.Data.Attoparsec.Final.IsChar- , HaskellWorks.Data.Attoparsec.Final.Parser+ exposed-modules: HaskellWorks.Data.Attoparsec.Final.Parser , HaskellWorks.Data.Conduit.ByteString , HaskellWorks.Data.Conduit.Json , HaskellWorks.Data.Conduit.Json.Blank@@ -71,6 +71,7 @@ , deepseq < 1.5 , ghc-prim , hw-bits+ , hw-prim , lens , mmap , mono-traversable@@ -112,6 +113,7 @@ , conduit >= 1.1 && < 1.3 , hspec >= 1.3 , hw-bits+ , hw-prim , hw-succinct , mmap , parsec@@ -137,6 +139,7 @@ , conduit , criterion , hw-bits+ , hw-prim , hw-succinct , mmap , resourcet
− src/HaskellWorks/Data/Attoparsec/Final/IsChar.hs
@@ -1,17 +0,0 @@-module HaskellWorks.Data.Attoparsec.Final.IsChar- ( IsChar(..)- ) where--import qualified Data.ByteString.Internal as BI-import Data.Word8--class IsChar c where- toChar :: c -> Char--instance IsChar Word8 where- toChar = BI.w2c- {-# INLINABLE toChar #-}--instance IsChar Char where- toChar = id- {-# INLINABLE toChar #-}
src/HaskellWorks/Data/Attoparsec/Final/Parser.hs view
@@ -9,7 +9,7 @@ import Data.ByteString (ByteString) import Data.MonoTraversable import Data.Text (Text)-import HaskellWorks.Data.Attoparsec.Final.IsChar+import HaskellWorks.Data.Char.IsChar class MonoTraversable t => Parser t where satisfy :: (Element t -> Bool) -> T.Parser t (Element t)
src/HaskellWorks/Data/Json/Final/Tokenize/Internal.hs view
@@ -18,8 +18,8 @@ import Data.Bits import Data.Char import Data.String-import HaskellWorks.Data.Attoparsec.Final.IsChar import HaskellWorks.Data.Attoparsec.Final.Parser as AFP+import HaskellWorks.Data.Char.IsChar import HaskellWorks.Data.Json.Token hexDigitNumeric :: AFP.Parser t => T.Parser t Int
test/HaskellWorks/Data/Bits/BitReadSpec.hs view
@@ -3,6 +3,7 @@ module HaskellWorks.Data.Bits.BitReadSpec (spec) where +import GHC.Exts import qualified Data.Vector as DV import Data.Word import HaskellWorks.Data.Bits.BitRead@@ -27,16 +28,16 @@ ws `shouldBe` Just [] it "bitRead \"10000000 101\" :: Maybe (DV.Vector Word8)" $ let v = bitRead "10000000 101" :: Maybe (DV.Vector Word8) in- v `shouldBe` Just (DV.fromList [1, 5])+ v `shouldBe` Just (fromList [1, 5]) it "bitRead \"11100100 10101111 1\" :: Maybe (DV.Vector Word8)" $ let v = bitRead "11100100 10101111 1" :: Maybe (DV.Vector Word8) in- v `shouldBe` Just (DV.fromList [39, 245, 1])+ v `shouldBe` Just (fromList [39, 245, 1]) it "bitRead \"11100100 10101111 1\" :: Maybe (DV.Vector Word16)" $ let v = bitRead "11100100 10101111 1" :: Maybe (DV.Vector Word16) in- v `shouldBe` Just (DV.fromList [39 + 62720, 1])+ v `shouldBe` Just (fromList [39 + 62720, 1]) it "bitRead \"\" :: Maybe (DV.Vector Word8)" $ let v = bitRead "" :: Maybe (DV.Vector Word8) in- v `shouldBe` Just (DV.fromList [])+ v `shouldBe` Just (fromList []) it "bitShow (8 :: Word8)" $ let bs = bitShow (8 :: Word8) in bs `shouldBe` "00010000"
test/HaskellWorks/Data/Succinct/RankSelect/Binary/Poppy512Spec.hs view
@@ -4,6 +4,7 @@ module HaskellWorks.Data.Succinct.RankSelect.Binary.Poppy512Spec (spec) where +import GHC.Exts import qualified Data.Vector.Storable as DVS import Data.Word import HaskellWorks.Data.Bits.BitShow@@ -31,7 +32,7 @@ vectorSizedBetween a b = do n <- choose (a, b) xs <- sequence [ arbitrary | _ <- [1 .. n] ]- return $ ShowVector (DVS.fromList xs)+ return $ ShowVector (fromList xs) spec :: Spec spec = describe "HaskellWorks.Data.Succinct.RankSelect.Binary.Poppy512.Rank1Spec" $ do@@ -85,7 +86,7 @@ let i = 0 in select0 v i === select0 w i it "on one full zero basic block" $- let v = DVS.fromList [0, 0, 0, 0, 0, 0, 0, 0] :: DVS.Vector Word64 in+ let v = fromList [0, 0, 0, 0, 0, 0, 0, 0] :: DVS.Vector Word64 in let w = makePoppy512 v in select0 v 0 === select0 w 0 it "on one basic block" $@@ -110,7 +111,7 @@ let i = 0 in select1 v i === select1 w i it "on one full zero basic block" $- let v = DVS.fromList [0, 0, 0, 0, 0, 0, 0, 0] :: DVS.Vector Word64 in+ let v = fromList [0, 0, 0, 0, 0, 0, 0, 0] :: DVS.Vector Word64 in let w = makePoppy512 v in select1 v 0 === select1 w 0 it "on one basic block" $