Fast, applicative, streaming regular expressions for Haskell
This repository contains a set of libraries for constructing functions on regular languages.
The core type,
Data.Regex.Poly.RE s a, is function from a regular language over
RE's are composed in the applicative style.
Primitives include what you would expect from a regular expression library, plus some uncommon but useful ones, such as
A slow but easy to use API is implemented using regular expression derivatives. A fast but memory-hungry API is implemented using DFA's. An in-progress API will use an NFA-like "virtual machine"  for a balance of speed, memory efficiency, and convenience.
I'm working on implementing a memory-efficient streaming approach to matching.
Work towards that goal can be found in
./regl-demo for some examples.
Some ideas and modules are borrowed from cacay/regexp.
Further ideas are borrowed from regex-applicative.