inspiration and credits
A number of libraries and resources were useful as inspiration and reference implementations for the code in this library. A special thanks goes out to these:
- regex-applicative. The current version of irrec is largely a port of regex-applicative from Haskell to Scala.
- irreg by Erik Osheim. Irrec is inspired by irreg and Erik's talk Regexes, Kleene Algebras, and Real Ultimate Power!
- Extending Glushkov NFA with sub matching over Strings, a blog post by Kenny Zhuo Ming Lu. The implementation of the Glushkov construction algorithm in irrec is based on the Haskell implementation in this blog post.
- Andy Scott has been helpful both in creating droste (the recursion scheme library that irrec previously used), and in answering my questions about recursion schemes.
- Parsing regular expressions with recursive descent. The grammar for regular expressions that this article presents helped me to greatly simplify the regex parsing code in irrec.
- mdoc's features and documentation were incredibly useful in creating a website with compiler-checked code examples.