on master help sign in
Rename array fold and parsing routines
commit613a85f988a019f4fc0eab062219fabf285adbfc authorHarendra Kumar <harendra@composewell.com> dateTue 27 Apr 2021, 00:45 (5 years ago) parent67062ee
1 file changed+25−23
src/Streamly/Internal/Data/Array/Stream/Foreign.hs+25−23
src/Streamly/Internal/Data/Array/Stream/Foreign.hs+25−23
@@ -22,11 +22,13 @@ module Streamly.Internal.Data.Array.Stream.Foreign
2222 , unlines
2323
2424 -- * Elimination
25− , fold
26− , fold_
27− -- , parse
28− , parseD
29− , foldMany
25+ -- ** Array Folds
26+ , foldArr
27+ , foldArr_
28+ -- , parseArr
29+ , parseArrD
30+ , foldArrMany
31+
3032 , toArray
3133
3234 -- * Compaction
@@ -465,13 +467,13 @@ _toArraysOf n = FL.chunksOf n (A.writeNF n) FL.toStream
465467{-# ANN type List NoSpecConstr #-}
466468newtype List a = List {getList :: [a]}
467469
468−{-# INLINE_NORMAL parseD #-}
469−parseD ::
470+{-# INLINE_NORMAL parseArrD #-}
471+parseArrD ::
470472 forall m a b. (MonadIO m, MonadThrow m, Storable a)
471473 => PRD.Parser m (Array a) b
472474 -> D.Stream m (Array.Array a)
473475 -> m (b, D.Stream m (Array.Array a))
474−parseD (PRD.Parser pstep initial extract) stream@(D.Stream step state) = do
476+parseArrD (PRD.Parser pstep initial extract) stream@(D.Stream step state) = do
475477 res <- initial
476478 case res of
477479 PRD.IPartial s -> go SPEC state (List []) s
@@ -535,32 +537,32 @@ parseD (PRD.Parser pstep initial extract) stream@(D.Stream step state) = do
535537--
536538-- /Internal/
537539--
538−{-# INLINE parse #-}
539−parse ::
540+{-# INLINE parseArr #-}
541+parseArr ::
540542 (MonadIO m, MonadThrow m, Storable a)
541543 => PRD.Parser m a b
542544 -> SerialT m (A.Array a)
543545 -> m (b, SerialT m (A.Array a))
544−parse p s = fmap D.fromStreamD <$> parseD p (D.toStreamD s)
546+parseArr p s = fmap D.fromStreamD <$> parseD p (D.toStreamD s)
545547-}
546548
547549-- | Fold an array stream using the supplied array stream 'Fold'.
548550--
549551-- /Pre-release/
550552--
551−{-# INLINE fold #-}
552−fold :: (MonadIO m, MonadThrow m, Storable a) =>
553+{-# INLINE foldArr #-}
554+foldArr :: (MonadIO m, MonadThrow m, Storable a) =>
553555 ASF.Fold m a b -> SerialT m (A.Array a) -> m b
554−fold (ASF.Fold p) s = fst <$> parseD p (D.toStreamD s)
556+foldArr (ASF.Fold p) s = fst <$> parseArrD p (D.toStreamD s)
555557
556558-- | Like 'fold' but also returns the remaining stream.
557559--
558560-- /Pre-release/
559561--
560−{-# INLINE fold_ #-}
561−fold_ :: (MonadIO m, MonadThrow m, Storable a) =>
562+{-# INLINE foldArr_ #-}
563+foldArr_ :: (MonadIO m, MonadThrow m, Storable a) =>
562564 ASF.Fold m a b -> SerialT m (A.Array a) -> m (b, SerialT m (A.Array a))
563−fold_ (ASF.Fold p) s = second D.fromStreamD <$> parseD p (D.toStreamD s)
565+foldArr_ (ASF.Fold p) s = second D.fromStreamD <$> parseArrD p (D.toStreamD s)
564566
565567{-# ANN type ParseChunksState Fuse #-}
566568data ParseChunksState x inpBuf st pst =
@@ -570,13 +572,13 @@ data ParseChunksState x inpBuf st pst =
570572 | ParseChunksBuf inpBuf st inpBuf !pst
571573 | ParseChunksYield x (ParseChunksState x inpBuf st pst)
572574
573−{-# INLINE_NORMAL foldManyD #-}
574−foldManyD
575+{-# INLINE_NORMAL foldArrManyD #-}
576+foldArrManyD
575577 :: (MonadThrow m, Storable a)
576578 => ASF.Fold m a b
577579 -> D.Stream m (Array a)
578580 -> D.Stream m b
579−foldManyD (ASF.Fold (PRD.Parser pstep initial extract)) (D.Stream step state) =
581+foldArrManyD (ASF.Fold (PRD.Parser pstep initial extract)) (D.Stream step state) =
580582 D.Stream stepOuter (ParseChunksInit [] state)
581583
582584 where
@@ -696,10 +698,10 @@ foldManyD (ASF.Fold (PRD.Parser pstep initial extract)) (D.Stream step state) =
696698-- See "Streamly.Prelude.foldMany" for more details.
697699--
698700-- /Pre-release/
699−{-# INLINE foldMany #-}
700−foldMany
701+{-# INLINE foldArrMany #-}
702+foldArrMany
701703 :: (IsStream t, MonadThrow m, Storable a)
702704 => ASF.Fold m a b
703705 -> t m (Array a)
704706 -> t m b
705−foldMany p m = D.fromStreamD $ foldManyD p (D.toStreamD m)
707+foldArrMany p m = D.fromStreamD $ foldArrManyD p (D.toStreamD m)