hw-streams 0.0.0.5 → 0.0.0.6
raw patch · 3 files changed
+45/−2 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.Streams.ByteString: stream :: ByteString -> Stream Word8
+ HaskellWorks.Data.Streams.ByteString: streamChunks :: [ByteString] -> Stream Word8
+ HaskellWorks.Data.Streams.ByteString.Lazy: stream :: ByteString -> Stream Word8
Files
- hw-streams.cabal +4/−2
- src/HaskellWorks/Data/Streams/ByteString.hs +29/−0
- src/HaskellWorks/Data/Streams/ByteString/Lazy.hs +12/−0
hw-streams.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: hw-streams-version: 0.0.0.5+version: 0.0.0.6 synopsis: Primitive functions and data types description: Primitive functions and data types. category: Data@@ -15,7 +15,7 @@ copyright: 2016-2018 John Ky license: BSD3 license-file: LICENSE-tested-with: GHC == 8.4.2, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3+tested-with: GHC == 8.6.1, GHC == 8.4.4, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3 build-type: Simple cabal-version: >= 1.10 @@ -50,6 +50,8 @@ if flag(bounds-checking-enabled) cpp-options: -DBOUNDS_CHECKING_ENABLED exposed-modules:+ HaskellWorks.Data.Streams.ByteString+ HaskellWorks.Data.Streams.ByteString.Lazy HaskellWorks.Data.Streams.Internal HaskellWorks.Data.Streams.Internal.Bundle HaskellWorks.Data.Streams.Internal.Chunk
+ src/HaskellWorks/Data/Streams/ByteString.hs view
@@ -0,0 +1,29 @@+{-# LANGUAGE ScopedTypeVariables #-}++module HaskellWorks.Data.Streams.ByteString+ ( streamChunks+ , stream+ ) where++import Data.Word+import HaskellWorks.Data.Streams.Size+import HaskellWorks.Data.Streams.Stream (Step (..), Stream (..))+import Prelude hiding (foldl, map, sum, zipWith)++import qualified Data.ByteString as BS++streamChunks :: [BS.ByteString] -> Stream Word8+streamChunks ass = Stream step (ass, 0) Unknown+ where step (bss, i) = case bss of+ cs:css -> if i < BS.length cs+ then Yield (BS.index cs i) (bss, i + 1)+ else Skip (css, 0)+ [] -> Done+{-# INLINE [1] streamChunks #-}++stream :: BS.ByteString -> Stream Word8+stream bs = Stream step (bs, 0) Unknown+ where step (cs, i) = if i < BS.length cs+ then Yield (BS.index cs i) (cs, i + 1)+ else Done+{-# INLINE [1] stream #-}
+ src/HaskellWorks/Data/Streams/ByteString/Lazy.hs view
@@ -0,0 +1,12 @@+module HaskellWorks.Data.Streams.ByteString.Lazy+ ( stream+ ) where++import Data.Word+import HaskellWorks.Data.Streams.Stream (Stream (..))++import qualified Data.ByteString.Lazy as LBS+import qualified HaskellWorks.Data.Streams.ByteString as BS++stream :: LBS.ByteString -> Stream Word8+stream = BS.streamChunks . LBS.toChunks