@@ -68,6 +68,9 @@ module Streamly.Internal.Data.Parser
71 -- * Element parsers
74 -- * Element parsers
@@ -384,6 +387,13 @@ lmap f p = D.toParserK $ D.lmap f $ D.fromParserK p
384lmapM :: Monad m => (a -> m b) -> Parser m b r -> Parser m a r
387lmapM :: Monad m => (a -> m b) -> Parser m b r -> Parser m a r
385lmapM f p = D.toParserK $ D.lmapM f $ D.fromParserK p
388lmapM f p = D.toParserK $ D.lmapM f $ D.fromParserK p
390+-- | @rmapM f parser@ maps the monadic function @f@ on the output of the parser.
394+rmapM :: Monad m => (b -> m c) -> Parser m a b -> Parser m a c
395+rmapM f p = D.toParserK $ D.rmapM f $ D.fromParserK p
387-- | Include only those elements that pass a predicate.
397-- | Include only those elements that pass a predicate.
389-- >>> Stream.parse (Parser.filter (> 5) (Parser.fromFold Fold.sum)) $ Stream.fromList [1..10]
399-- >>> Stream.parse (Parser.filter (> 5) (Parser.fromFold Fold.sum)) $ Stream.fromList [1..10]