on master help sign in
Fix an issue in fromStreamDArraysOf

Fix insertAfterEach when compiling with streamk flag.

commit224f229fa303ac06025fb37cf8a227435a826154 authorHarendra Kumar <harendra.kumar@gmail.com> dateSat 15 Jun 2019, 14:45 (7 years ago) parent364af08
2 files changed+3−3
src/Streamly/Mem/Array/Types.hs+2−2 src/Streamly/Prelude.hs+1−1
src/Streamly/Mem/Array/Types.hs+2−2
@@ -494,7 +494,7 @@ data GroupState s start end bound
494494-- | @fromStreamArraysOf n stream@ groups the input stream into a stream of
495495-- arrays of size n.
496496{-# INLINE_NORMAL fromStreamDArraysOf #-}
497−fromStreamDArraysOf :: (MonadIO m, Storable a)
497+fromStreamDArraysOf :: forall m a. (MonadIO m, Storable a)
498498 => Int -> D.Stream m a -> D.Stream m (Array a)
499499-- fromStreamDArraysOf n str = D.groupsOf n (toArrayN n) str
500500fromStreamDArraysOf n (D.Stream step state) =
@@ -516,7 +516,7 @@ fromStreamDArraysOf n (D.Stream step state) =
516516 case r of
517517 D.Yield x s -> do
518518 liftIO $ poke end x
519− let end' = end `plusPtr` 1
519+ let end' = end `plusPtr` sizeOf (undefined :: a)
520520 return $
521521 if end' >= bound
522522 then D.Skip (GroupYield start end' bound (GroupStart s))
src/Streamly/Prelude.hs+1−1
@@ -1955,7 +1955,7 @@ intersperse a = fromStreamS . S.intersperse a . toStreamS
19551955-- @since 0.7.0
19561956{-# INLINE insertAfterEach #-}
19571957insertAfterEach :: (IsStream t, MonadAsync m) => m a -> t m a -> t m a
1958−insertAfterEach m = fromStreamS . S.insertAfterEach m . toStreamS
1958+insertAfterEach m = fromStreamD . D.insertAfterEach m . toStreamD
19591959
19601960{-
19611961-- | Intersperse a monadic action into the input stream after every @n@