Open
Description
I've recently used cats-parse
a bit, and in there they split parsers into Parser
and Parser0
, where Parser0
is reserved for parsers that can succeed without consuming any input.
It wasn't an enjoyable experience figuring out how to use it at first (although that was mostly for Scala reasons than anything else - no typed holes, things being located on companion objects vs object methods, etc.), but I ended up thinking it's a pretty good idea.
This probably relates somewhat to #202, but involves slightly less reimagining.