on master help sign in
Rename parseKChunks to chunkParse
commit39bc5269811ed4af2e8bdb9cd231a34f96597b8b authorHarendra Kumar <harendra@composewell.com> dateWed 15 Feb 2023, 17:35 (4 years ago) parent5cb08e7
6 files changed+23−33
benchmark/Streamly/Benchmark/Data/Parser/ParserK.hs+2−2 benchmark/Streamly/Benchmark/Data/Stream/Reduce.hs+1−1 cabal.project−1 core/src/Streamly/Data/Stream/StreamK.hs+2−2 core/src/Streamly/Internal/Data/Stream/StreamK.hs+17−26 src/Streamly/Internal/Data/Stream/IsStream/Eliminate.hs+1−1
benchmark/Streamly/Benchmark/Data/Parser/ParserK.hs+2−2
@@ -68,12 +68,12 @@ benchIOSink value name f =
6868-- Parsers
6969-------------------------------------------------------------------------------
7070
71−#define PARSE_OP StreamK.parseKChunks
71+#define PARSE_OP StreamK.chunkParse
7272
7373{-# INLINE one #-}
7474one :: MonadIO m =>
7575 Int -> StreamK m (Array Int) -> m (Either ParseError (Maybe Int))
76−one value = StreamK.parseKChunks p
76+one value = StreamK.chunkParse p
7777
7878 where
7979
benchmark/Streamly/Benchmark/Data/Stream/Reduce.hs+1−1
@@ -179,7 +179,7 @@ refoldIterateM =
179179{-# INLINE parseBreak #-}
180180parseBreak :: Monad m => StreamK m Int -> m ()
181181parseBreak s = do
182− r <- K.parseBreak PR.one s
182+ r <- K.parseDBreak PR.one s
183183 case r of
184184 (Left _, _) -> return ()
185185 (Right _, s1) -> parseBreak s1
cabal.project−1
@@ -3,4 +3,3 @@ packages: streamly.cabal
33 , test/streamly-tests.cabal
44 , benchmark/streamly-benchmarks.cabal
55 , docs/streamly-docs.cabal
6−write-ghc-environment-files: always
core/src/Streamly/Data/Stream/StreamK.hs+2−2
@@ -53,8 +53,8 @@ module Streamly.Data.Stream.StreamK
5353
5454 -- ** Parsing
5555 -- , parseBreak
56− , parseKBreakChunks
57− -- , parseKChunks
56+ , chunkParseBreak
57+ -- , chunkParse
5858
5959 -- * Combining Two Streams
6060 -- ** Appending
core/src/Streamly/Internal/Data/Stream/StreamK.hs+17−26
@@ -117,10 +117,10 @@ module Streamly.Internal.Data.Stream.StreamK
117117 , foldBreak
118118 , foldEither
119119 , foldConcat
120− , parseBreak
121− , parse
122− , parseKBreakChunks
123− , parseKChunks
120+ , parseDBreak
121+ , parseD
122+ , chunkParseBreak
123+ , chunkParse
124124
125125 -- ** Specialized Folds
126126 , drain
@@ -371,7 +371,7 @@ foldlMx' step begin done = go begin
371371-- Definitions:
372372--
373373-- >>> fold f = fmap fst . StreamK.foldBreak f
374−-- >>> fold f = StreamK.parse (Parser.fromFold f)
374+-- >>> fold f = StreamK.parseD (Parser.fromFold f)
375375--
376376-- Example:
377377--
@@ -1146,13 +1146,13 @@ splitAt n ls
11461146 (xs', xs'') = splitAt' (m - 1) xs
11471147
11481148-- | Run a 'Parser' over a stream and return rest of the Stream.
1149−{-# INLINE_NORMAL parseBreakD #-}
1150−parseBreakD
1149+{-# INLINE_NORMAL parseDBreak #-}
1150+parseDBreak
11511151 :: Monad m
11521152 => PR.Parser a m b
11531153 -> Stream m a
11541154 -> m (Either ParseError b, Stream m a)
1155−parseBreakD (PR.Parser pstep initial extract) stream = do
1155+parseDBreak (PR.Parser pstep initial extract) stream = do
11561156 res <- initial
11571157 case res of
11581158 PR.IPartial s -> goStream stream [] s
@@ -1232,23 +1232,14 @@ parseBreakD (PR.Parser pstep initial extract) stream = do
12321232 return (Right b, append (fromList src) st)
12331233 PR.Error err -> return (Left (ParseError err), nil)
12341234
1235−-- | Parse a stream using the supplied 'Parser'.
1236−--
1237−-- /CPS/
1238−--
1239−{-# INLINE parseBreak #-}
1240−parseBreak :: Monad m =>
1241− Parser.Parser a m b -> Stream m a -> m (Either ParseError b, Stream m a)
1242−parseBreak = parseBreakD
1243−
12441235-- Using ParserD or ParserK on StreamK may not make much difference. We should
12451236-- perhaps use only chunked parsing on StreamK. We can always convert a stream
12461237-- to chunks before parsing. Or just have a ParserK element parser for StreamK
12471238-- and convert ParserD to ParserK for element parsing using StreamK.
1248−{-# INLINE parse #-}
1249−parse :: Monad m =>
1239+{-# INLINE parseD #-}
1240+parseD :: Monad m =>
12501241 Parser.Parser a m b -> Stream m a -> m (Either ParseError b)
1251−parse f = fmap fst . parseBreak f
1242+parseD f = fmap fst . parseDBreak f
12521243
12531244-------------------------------------------------------------------------------
12541245-- Chunked parsing using ParserK
@@ -1289,13 +1280,13 @@ parserDone (ParserK.Success n b) _ _ = pure $ ParserK.Done n b
12891280parserDone (ParserK.Failure n e) _ _ = pure $ ParserK.Error n e
12901281
12911282-- | Run a 'ParserK' over a chunked 'StreamK' and return the rest of the Stream.
1292−{-# INLINE_NORMAL parseKBreakChunks #-}
1293−parseKBreakChunks
1283+{-# INLINE_NORMAL chunkParseBreak #-}
1284+chunkParseBreak
12941285 :: (Monad m, Unbox a)
12951286 => ParserK.Parser a m b
12961287 -> StreamK m (Array a)
12971288 -> m (Either ParseError b, StreamK m (Array a))
1298−parseKBreakChunks parser input = do
1289+chunkParseBreak parser input = do
12991290 let parserk = \arr -> ParserK.runParser parser parserDone 0 0 arr
13001291 in go [] parserk input
13011292
@@ -1380,10 +1371,10 @@ parseKBreakChunks parser input = do
13801371 in foldStream
13811372 defState (yieldk backBuf parserk) single stop stream
13821373
1383−{-# INLINE parseKChunks #-}
1384−parseKChunks :: (Monad m, Unbox a) =>
1374+{-# INLINE chunkParse #-}
1375+chunkParse :: (Monad m, Unbox a) =>
13851376 ParserK.Parser a m b -> Stream m (Array a) -> m (Either ParseError b)
1386−parseKChunks f = fmap fst . parseKBreakChunks f
1377+chunkParse f = fmap fst . chunkParseBreak f
13871378
13881379-------------------------------------------------------------------------------
13891380-- Sorting
src/Streamly/Internal/Data/Stream/IsStream/Eliminate.hs+1−1
@@ -170,7 +170,7 @@ import qualified Streamly.Internal.Data.Array as A
170170import qualified Streamly.Internal.Data.Stream.Serial as Stream
171171import qualified Streamly.Internal.Data.Fold as FL
172172import qualified Streamly.Internal.Data.Parser.ParserD as PRD
173−import qualified Streamly.Internal.Data.Parser.ParserK.Type as PRK
173+-- import qualified Streamly.Internal.Data.Parser.ParserK.Type as PRK
174174import qualified Streamly.Internal.Data.Stream.IsStream.Type as IsStream
175175import qualified Streamly.Internal.Data.Stream.StreamD as D
176176 (foldr1, foldlT, foldlM', mapM_, null, head, headElse, last, elem