on master help sign in
Remove foreign array dependency on IsStream type
commitee5e4d14012fd638dcb53eba6c64e2b9c63ee957 authorHarendra Kumar <harendra@composewell.com> dateSun 14 Nov 2021, 20:32 (5 years ago) parentefd41db
2 files changed+5−7
src/Streamly/Internal/Data/Array/Foreign.hs+1−2 src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+4−5
src/Streamly/Internal/Data/Array/Foreign.hs+1−2
@@ -144,7 +144,6 @@ import qualified Streamly.Internal.Data.Array.Foreign.Mut as MA
144144import qualified Streamly.Internal.Data.Array.Foreign.Type as A
145145import qualified Streamly.Internal.Data.Fold as FL
146146import qualified Streamly.Internal.Data.Producer as Producer
147−import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
148147import qualified Streamly.Internal.Data.Stream.Prelude as P
149148import qualified Streamly.Internal.Data.Stream.StreamD as D
150149import qualified Streamly.Internal.Data.Unfold as Unfold
@@ -393,7 +392,7 @@ getSliceUnsafe index len (Array contents start e) =
393392splitOn :: (Monad m, Storable a) =>
394393 (a -> Bool) -> Array a -> SerialT m (Array a)
395394splitOn predicate arr =
396− IsStream.fromStreamD
395+ SerialT $ D.toStreamK
397396 $ fmap (\(i, len) -> getSliceUnsafe i len arr)
398397 $ D.sliceOnSuffix predicate (A.toStreamD arr)
399398
src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs+4−5
@@ -35,8 +35,6 @@ import Foreign.Storable (Storable(..))
3535import Streamly.Internal.Data.Array.Foreign.Mut.Type (Array(..))
3636import Streamly.Internal.Data.Fold.Type (Fold(..))
3737import Streamly.Internal.Data.Stream.Serial (SerialT(..))
38−import Streamly.Internal.Data.Stream.IsStream.Type
39− (IsStream, fromStreamD, toStreamD)
4038import Streamly.Internal.Data.Tuple.Strict (Tuple'(..))
4139
4240import qualified Streamly.Internal.Data.Array.Foreign.Mut.Type as MArray
@@ -53,9 +51,10 @@ import qualified Streamly.Internal.Data.Parser.ParserD as ParserD
5351--
5452-- /Pre-release/
5553{-# INLINE arraysOf #-}
56−arraysOf :: (IsStream t, MonadIO m, Storable a)
57− => Int -> t m a -> t m (Array a)
58−arraysOf n = fromStreamD . MArray.arraysOf n . toStreamD
54+arraysOf :: (MonadIO m, Storable a)
55+ => Int -> SerialT m a -> SerialT m (Array a)
56+arraysOf n (SerialT xs) =
57+ SerialT $ D.toStreamK $ MArray.arraysOf n $ D.fromStreamK xs
5958
6059-------------------------------------------------------------------------------
6160-- Compact