packages feed

pipes-vector 0.6 → 0.6.1

raw patch · 2 files changed

+5/−5 lines, 2 files

Files

pipes-vector.cabal view
@@ -1,5 +1,5 @@ name:                pipes-vector-version:             0.6+version:             0.6.1 synopsis:            Various proxies for streaming data into vectors description:         Proxies for streaming data into vectors.         license:             BSD3
src/Pipes/Vector.hs view
@@ -68,15 +68,15 @@      :: (PrimMonad m, M.MVector (V.Mutable v) e)      => Consumer e (ToVector v e m) r toVector = forever $ do-      length <- M.length . result <$> lift (TV get)-      pos <- idx <$> lift (TV get)+      length <- (M.length . result) `liftM` lift (TV get)+      pos <- idx `liftM` lift (TV get)       lift $ TV $ when (pos >= length) $ do-          v <- result <$> get+          v <- result `liftM` get           v' <- M.unsafeGrow v (min length maxChunkSize)           modify $ \(ToVecS r i) -> ToVecS v' i       r <- await       lift $ TV $ do-          v <- result <$> get+          v <- result `liftM` get           M.unsafeWrite v pos r           modify $ \(ToVecS r i) -> ToVecS r (pos+1)