on master help sign in
Change the signature of Parser.sequence, move fold at end (#1906)
666dbb0Ranjeet Ranjan
benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+1−1
@@ -199,7 +199,7 @@ longestAllAny value =
199
199
200{-# INLINE sequenceParser #-}
200{-# INLINE sequenceParser #-}
201sequenceParser :: MonadThrow m => Stream m Int -> m ()
201sequenceParser :: MonadThrow m => Stream m Int -> m ()
202−sequenceParser = Stream.parseD (PR.sequence Fold.drain (D.repeat (PR.satisfy $ const True)))
202+sequenceParser = Stream.parseD (PR.sequence (D.repeat (PR.satisfy $ const True)) Fold.drain)
203
203
204-------------------------------------------------------------------------------
204-------------------------------------------------------------------------------
205-- Spanning
205-- Spanning
core/src/Streamly/Internal/Data/Parser.hs+1−1
@@ -1251,7 +1251,7 @@ concatSequence ::
1251 Fold m b c -> Stream m (Parser m a b) -> Parser m a c
1251 Fold m b c -> Stream m (Parser m a b) -> Parser m a c
1252concatSequence f p =
1252concatSequence f p =
1253 let sp = fmap D.fromParserK $ Stream.toStreamD p
1253 let sp = fmap D.fromParserK $ Stream.toStreamD p
1254− in D.toParserK $ D.sequence f sp
1254+ in D.toParserK $ D.sequence sp f
1255
1255
1256-- | Map a 'Parser' returning function on the result of a 'Parser'.
1256-- | Map a 'Parser' returning function on the result of a 'Parser'.
1257--
1257--
core/src/Streamly/Internal/Data/Parser/ParserD.hs+2−2
@@ -2009,8 +2009,8 @@ sepBy
2009-- | See 'Streamly.Internal.Data.Parser.sequence'.
2009-- | See 'Streamly.Internal.Data.Parser.sequence'.
2010{-# INLINE sequence #-}
2010{-# INLINE sequence #-}
2011sequence :: Monad m =>
2011sequence :: Monad m =>
2012− Fold m b c -> D.Stream m (Parser m a b) -> Parser m a c
2012+ D.Stream m (Parser m a b) -> Fold m b c -> Parser m a c
2013−sequence (Fold fstep finitial fextract) (D.Stream sstep sstate) =
2013+sequence (D.Stream sstep sstate) (Fold fstep finitial fextract) =
2014 Parser step initial extract
2014 Parser step initial extract
2015
2015
2016 where
2016 where
test/Streamly/Test/Data/Parser/ParserD.hs+1−1
@@ -666,7 +666,7 @@ parserSequence =
666 monadicIO $ do
666 monadicIO $ do
667 let parsers = D.fromList
667 let parsers = D.fromList
668 $ fmap (\xs -> P.fromFold $ FL.take (length xs) FL.sum) ins
668 $ fmap (\xs -> P.fromFold $ FL.take (length xs) FL.sum) ins
669− let sequencedParser = P.sequence FL.sum parsers
669+ let sequencedParser = P.sequence parsers FL.sum
670 outs <-
670 outs <-
671 run $
671 run $
672 S.parseD sequencedParser $ S.concatMap S.fromList (S.fromList ins)
672 S.parseD sequencedParser $ S.concatMap S.fromList (S.fromList ins)