Things which get passed through the entire parse run, but almost never get changed in the process.
A single, self-contained, immutable parser.
A single, self-contained, immutable parser. The primary method is
parse
, which returns a T on success and a stack trace on failure.
Some small optimizations are performed in-line: collapsing parsers.Combinators.Either cells into large ones and collapsing parsers.Combinators.Sequence cells into parsers.Combinators.Sequence.Flats. These optimizations together appear to make things faster but any 10%, whether or not you activate tracing
Collapsed, Trace Timings all true 87 /97 /94 all false 112/111/104 either true 89 /84 /81 either false 97 /102/97 none true 84 /79 /80 none false 96 /99 /97
Result of a parse, whether successful or failed
Things which get passed through the entire parse run, but almost never get changed in the process.
The string that is currently being parsed