on master help sign in
Expose new element/generic parse drivers and adapters
51a559dHarendra Kumar
core/src/Streamly/Data/ParserK.hs+2
@@ -108,7 +108,9 @@ module Streamly.Data.ParserK
108
108
109 -- * Parsers
109 -- * Parsers
110 -- ** Conversions
110 -- ** Conversions
111+ , adapt
111 , adaptC
112 , adaptC
113+ , adaptCG
112 -- , toParser
114 -- , toParser
113
115
114 -- ** Without Input
116 -- ** Without Input
core/src/Streamly/Data/StreamK.hs+2−1
@@ -95,7 +95,8 @@ module Streamly.Data.StreamK
95 -- , foldBreak
95 -- , foldBreak
96
96
97 -- ** Parsing
97 -- ** Parsing
98+ , parse
98− -- , parseBreak
99+ , parseBreak
99 , parseBreakChunks
100 , parseBreakChunks
100 , parseChunks
101 , parseChunks
101
102
core/src/Streamly/Internal/Data/ParserK/Type.hs+9−3
@@ -461,7 +461,8 @@ adaptCWith pstep initial extract cont !offset0 !usedCount !input = do
461 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
461 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
462 parseCont !cnt !pst None = parseContNothing cnt pst
462 parseCont !cnt !pst None = parseContNothing cnt pst
463
463
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.
465--
466--
466-- /Pre-release/
467-- /Pre-release/
467--
468--
@@ -563,7 +564,9 @@ adaptWith pstep initial extract cont !relPos !usedCount !input = do
563 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt pst arr
564 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt pst arr
564 parseCont !cnt !pst None = parseContNothing cnt pst
565 parseCont !cnt !pst None = parseContNothing cnt pst
565
566
566−-- | Similar to "adaptC" but for non-chunked input.
567+-- | Convert a 'Parser' to 'ParserK'.
568+--
569+-- /Pre-release/
567--
570--
568{-# INLINE_LATE adapt #-}
571{-# INLINE_LATE adapt #-}
569adapt :: Monad m => ParserD.Parser a m b -> ParserK a m b
572adapt :: Monad m => ParserD.Parser a m b -> ParserK a m b
@@ -691,7 +694,10 @@ adaptCGWith pstep initial extract cont !offset0 !usedCount !input = do
691 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
694 parseCont !cnt !pst (Chunk arr) = parseContChunk cnt 0 pst arr
692 parseCont !cnt !pst None = parseContNothing cnt pst
695 parseCont !cnt !pst None = parseContNothing cnt pst
693
696
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/
695--
701--
696{-# INLINE_LATE adaptCG #-}
702{-# INLINE_LATE adaptCG #-}
697adaptCG ::
703adaptCG ::