Here are some news about Tyre, along with release of version 0.3.

Last summer was the first release of Tyre. The original announcement can be found here (to my surprise, it even made its way into HN’s frontpage).

Since then, version 0.2 was released a few month ago with a vastly improved API , mostly thanks to the numerous remarks by Rudi Grinberg. Version 0.3, released today, improves performances significantly and introduces repeated matches with Tyre.all and Tyre.all_gen.

You can now find interesting middle-size examples in the examples and benchmark directories, including an ini parser and a simplified HTTP parser. Tyre is roughly up to 5 time faster than angstrom on this simplified HTTP parser. A URI parser can also be found in this prototype PR on ocaml-uri.

Finally, I made a presentation in the OUPS Meetup to present regex combinators and the type-indexed version used in tyre. The slides are available here.

For anyone using regular expressions or parsing regular languages, tyre can improve the safety and clarity of your code while offering very good performances. I would be very happy to get any feedback on the bug tracker.

For the future, there are several area to explore. Tyre is very suitable to being staged with metaocaml. Macros, however, are more challenging. The behavior of repeated matches in tyre could be improved, but requires better support from re. Finally, tyre could provide a decent API for lexing. This would however need significant improvements in re.

Happy OCaml hacking!