on master help sign in
Expose new element/generic parse drivers and adapters
commit51a559d2864c4753de8200c1ed40e3a0bc7073fa authorHarendra Kumar <harendra@composewell.com> dateThu 23 Nov 2023, 00:59 (3 years ago) parent1597f79
3 files changed+13−4
core/src/Streamly/Data/ParserK.hs+2 core/src/Streamly/Data/StreamK.hs+2−1 core/src/Streamly/Internal/Data/ParserK/Type.hs+9−3
core/src/Streamly/Data/ParserK.hs+2
@@ -108,7 +108,9 @@ module Streamly.Data.ParserK
108108
109109 -- * Parsers
110110 -- ** Conversions
111+ , adapt
111112 , adaptC
113+ , adaptCG
112114 -- , toParser
113115
114116 -- ** Without Input
core/src/Streamly/Data/StreamK.hs+2−1
@@ -95,7 +95,8 @@ module Streamly.Data.StreamK
9595 -- , foldBreak
9696
9797 -- ** Parsing
98− -- , parseBreak
98+ , parse
99+ , parseBreak
99100 , parseBreakChunks
100101 , parseChunks
101102
core/src/Streamly/Internal/Data/ParserK/Type.hs+9−3
@@ -461,7 +461,8 @@ adaptCWith pstep initial extract cont !offset0 !usedCount !input = do
461461 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
462462 parseCont !cnt !pst None = parseContNothing cnt pst
463463
464−-- | Convert a raw byte 'Parser' to a chunked 'ParserK'.
464+-- | Convert an element 'Parser' to a chunked 'ParserK'. A chunked parser is
465+-- more efficient than an element parser.
465466--
466467-- /Pre-release/
467468--
@@ -563,7 +564,9 @@ adaptWith pstep initial extract cont !relPos !usedCount !input = do
563564 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt pst arr
564565 parseCont !cnt !pst None = parseContNothing cnt pst
565566
566−-- | Similar to "adaptC" but for non-chunked input.
567+-- | Convert a 'Parser' to 'ParserK'.
568+--
569+-- /Pre-release/
567570--
568571{-# INLINE_LATE adapt #-}
569572adapt :: Monad m => ParserD.Parser a m b -> ParserK a m b
@@ -691,7 +694,10 @@ adaptCGWith pstep initial extract cont !offset0 !usedCount !input = do
691694 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
692695 parseCont !cnt !pst None = parseContNothing cnt pst
693696
694−-- | Similar to "adaptC" but is not constrained.
697+-- | A generic 'adaptC'. Similar to 'adaptC' but is not constrained to 'Unbox'
698+-- types.
699+--
700+-- /Pre-release/
695701--
696702{-# INLINE_LATE adaptCG #-}
697703adaptCG ::