For common tasks, this package is several times slower than monadic
parser combinator libraries like parsec. However, this library has a roughly
linear complexity, whereas monadic parser combinators have exponential
worst-time complexity (see here).
Some tips to make your regex run faster:
If you don’t care about the result of the whole regex or its part, only
whether it matches or not, mark it with void or <$. Recognition is faster
than parsing.
If you apply the same regex to multiple strings, partially apply it like so:
let matcher = match my_regex
in map matcher my_strings
This way the compiled regex is stored in the matcher value and shared among
the strings.
GHC support
Only GHC versions >= 8.0 are supported, although older versions may work too.
Changes
Changes
0.3.4
Let the user provide a custom uncons function (add
find{First,Longest,Shortest}PrefixWithUncons)