Add `drop` to `Text.Megaparsec`
sol opened this issue · 3 comments
sol commented
I'd love to have Text.Megaparsec
to export
-- | Advance by / ignore `n` input tokens
drop :: MonadParsec e s m => Int -> m ()
drop n = P.skipCount n $ P.token Just mempty
(or possibly implement it with getOffset
/ setOffset
, if that results in the exact same parser state, not sure)
mrkkrp commented
IIUC you want this as a new primitive? (Because there is already skipCount
in parser-combinators
.)
sol commented
I think skipCount
requires a parser as an argument, whereas I want to unconditionally drop / ignore a specified number of tokens.