Skip to content

Commit 79b3c09

Browse files
committed
Elaborate README.
1 parent 4cf5b85 commit 79b3c09

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

README.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,25 @@ let () = Lwt_main.run begin
4141
end
4242
```
4343

44-
## Known Issues and Limitations
45-
46-
- The processor is currently new and not well tested. Please break it and
47-
file bug reports.
48-
- Pattern guards are not implemented.
49-
- Optional patterns due to `?`, `*`, and `{0,n}` are detected. If you find
50-
other reasons a `Re_pcre` pattern may opt, please file a bug report.
51-
- Is it feasible to cover any reasonable ground with exhaustiveness checks?
52-
No attempt is currently made, and no warning is issued for a missing
53-
catch-all case.
44+
## Limitations
45+
46+
### No Pattern Guards
47+
48+
Pattern guards are not supported. This is due to the fact that all match
49+
cases are combined into a single regular expression, so if one of the
50+
patterns succeed, the match is committed before we can check the guard
51+
condition.
52+
53+
### No Exhaustiveness Check
54+
55+
The syntax extension will always warn if no catch-all case is provided. No
56+
exhaustiveness check is attempted. Doing it right would require
57+
reimplementing full regular expression parsing, and presumably an algorithm
58+
which would produce a counter-example as expands the branches of the regular
59+
expression.
60+
61+
## Bug Reports
62+
63+
The processor is currently new and not well tested. Please break it and
64+
file bug reports in the GitHub issue tracker. Any exception raised by
65+
generated code except for `Match_failure` is a bug.

0 commit comments

Comments
 (0)