hw-prim 0.6.2.9 → 0.6.2.10
raw patch · 2 files changed
+50/−1 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.ByteString: class ToByteStrings a
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings Data.ByteString.Internal.ByteString
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings Data.ByteString.Lazy.Internal.ByteString
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings [Data.ByteString.Internal.ByteString]
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings [Data.Vector.Storable.Vector GHC.Word.Word16]
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings [Data.Vector.Storable.Vector GHC.Word.Word32]
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings [Data.Vector.Storable.Vector GHC.Word.Word64]
+ HaskellWorks.Data.ByteString: instance HaskellWorks.Data.ByteString.ToByteStrings [Data.Vector.Storable.Vector GHC.Word.Word8]
+ HaskellWorks.Data.ByteString: toByteStrings :: ToByteStrings a => a -> [ByteString]
Files
- hw-prim.cabal +1/−1
- src/HaskellWorks/Data/ByteString.hs +49/−0
hw-prim.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: hw-prim-version: 0.6.2.9+version: 0.6.2.10 synopsis: Primitive functions and data types description: Primitive functions and data types. category: Data
src/HaskellWorks/Data/ByteString.hs view
@@ -3,6 +3,7 @@ module HaskellWorks.Data.ByteString ( chunkedBy , ToByteString(..)+ , ToByteStrings(..) , resegment , resegmentPadded , rechunk@@ -13,6 +14,7 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Internal as BSI+import qualified Data.ByteString.Lazy as LBS import qualified Data.Vector.Storable as DVS class ToByteString a where@@ -41,6 +43,53 @@ toByteString v = case DVS.unsafeToForeignPtr (DVS.unsafeCast v :: DVS.Vector Word8) of (fptr, start, offset) -> BSI.fromForeignPtr fptr start offset {-# INLINE toByteString #-}++class ToByteStrings a where+ toByteStrings :: a -> [BS.ByteString]++instance ToByteStrings [BS.ByteString] where+ toByteStrings = id+ {-# INLINE toByteStrings #-}++instance ToByteStrings LBS.ByteString where+ toByteStrings = LBS.toChunks+ {-# INLINE toByteStrings #-}++instance ToByteStrings BS.ByteString where+ toByteStrings = (:[])+ {-# INLINE toByteStrings #-}++instance ToByteStrings (DVS.Vector Word8) where+ toByteStrings = (:[]) . toByteString+ {-# INLINE toByteStrings #-}++instance ToByteStrings (DVS.Vector Word16) where+ toByteStrings = (:[]) . toByteString+ {-# INLINE toByteStrings #-}++instance ToByteStrings (DVS.Vector Word32) where+ toByteStrings = (:[]) . toByteString+ {-# INLINE toByteStrings #-}++instance ToByteStrings (DVS.Vector Word64) where+ toByteStrings = (:[]) . toByteString+ {-# INLINE toByteStrings #-}++instance ToByteStrings [DVS.Vector Word8] where+ toByteStrings = (toByteString <$>)+ {-# INLINE toByteStrings #-}++instance ToByteStrings [DVS.Vector Word16] where+ toByteStrings = (toByteString <$>)+ {-# INLINE toByteStrings #-}++instance ToByteStrings [DVS.Vector Word32] where+ toByteStrings = (toByteString <$>)+ {-# INLINE toByteStrings #-}++instance ToByteStrings [DVS.Vector Word64] where+ toByteStrings = (toByteString <$>)+ {-# INLINE toByteStrings #-} -- | Chunk a @bs into list of smaller byte strings of no more than @n elements chunkedBy :: Int -> BS.ByteString -> [BS.ByteString]