You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tyre is a set of combinators to build type-safe regular expressions, allowing automatic extraction and modification of matched groups.
Tyre is bi-directional: a typed regular expressions can be used for parsing and unparsing. It also allows routing, by providing a list of regexs/routes and their handlers.
Documentation is available here. See also the examples/ directory.
A primitive HTTP parser can be found in the benchmark/ directory.
#let dim =Tyre.( str"dim:"*>int<&> str"x"*>int ) ;;
valdim : (int*int) Tyre.t#let dim_re =Tyre.compile dim ;;
valdim_re : (int*int) Tyre.re#Tyre.exec dim_re "dim:3x4" ;;
- : (int*int, (int*int) Tyre.error) result =Result.Ok (3, 4)
#Tyre.eval dim (2, 5) ;;
- : string="dim:2x5"
Benchmark
Some benchmarks are available under the benchmark/ directory.
The benchmark compares the parsing of HTTP requests using angstrom and various
tyre methods.
You can run them with:
./benchmark/data/replicate benchmark/data/http-requests.txt 100
jbuilder exec benchmark/benchmark_angstrom.exe -- -a