Consume input as long as the predicate returns
True, and return
the consumed input.
This parser does not fail. It will return an empty string if the
predicate returns
False on the first byte of input.
Note: Because this parser does not fail, do not use it with
combinators such as
many, because such parsers loop until a
failure occurs. Careless use will thus result in an infinite loop.