Releases: ahrefs/ppx_regexp
Releases · ahrefs/ppx_regexp
0.6.6
0.6.5
0.6.4
0.6.3
QOL updates, for both the user and developer
- unit tests for mikmatch
- fixing unit tests for Regexp lib and adding compilation flag tests
- added warning when let destructuring: alternations are not allowed if they create different variables in different branches.
- this would not have produced good code
- the pattern should be: one variable capture for whole alternation
0.6.2
0.6.1
Bug Fix
- let destructuring was using the wrong groups if inside the RE you were to define more groups than the variable capture ones
Full Changelog: v0.6.0...v0.6.1
0.6.0
What's Changed
- fixing pattern guards by @zazedd in #1
- refactoring by @zazedd in #2
- compilation flags by @zazedd in #3
- let destructuring via
let%mikmatch/%pcre
by @zazedd in #4 - cleanup tyre, add ocamlformat, update opam desc by @zazedd in #5
- better substitution by @zazedd in #6
Full Changelog: v0.5.9...v0.6.0
0.5.9
Updates
- Optimized code generation for default rhs
- Improvements to variable subst code
- Fixing issue where too much memory would be allocated for the mixed match case
- Pre-fix for pattern guard issue relating to how
ocaml-re
runs Marks
Known Issues
function%mikmatch
| {|/ regex1 /|} where something (* evaluates to false *) -> rhs1
| {|/ regex2 /|} -> rhs2
| _ -> rhs3
Where regex1
and regex2
intersect (for example 'a'+ 'b'
and 'a' 'b'+
where the input string is "ab"
). One would expect rhs2
to run, however due to how marking works (it only marks the first successful match and doesn't search forward), rhs3
actually runs. A warning was added to the README.