Implements better error messages, also make creation lazy by using an enum.
This greatly improves performance, and allows the creation of error messages with much more serious string interpolation.
Also adds better error messages to consumeAll, eliminating the embarrassing "vector of newlines" bug when no parsers match the first character, and improves the error message to not disrupt the line currently being considered.
Also switches some hot code to use ContiguousArray, which seems to create a modest perf benefit.
Implements better error messages, also make creation lazy by using an enum.
This greatly improves performance, and allows the creation of error messages with much more serious string interpolation.
Also adds better error messages to
consumeAll
, eliminating the embarrassing "vector of newlines" bug when no parsers match the first character, and improves the error message to not disrupt the line currently being considered.Also switches some hot code to use
ContiguousArray
, which seems to create a modest perf benefit.