├── .gitignore ├── .semaphore ├── install-nix.sha256 └── semaphore.yml ├── .stylish-haskell.yaml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── Setup.hs ├── alfred-margaret.cabal ├── app └── dump-automaton │ └── Main.hs ├── bench ├── bm │ └── Main.hs └── uvector-vs-tba │ └── Main.hs ├── benchmark.sh ├── benchmark ├── .gitignore ├── README.md ├── benchmark.py ├── data-utf8 │ └── example.txt ├── data │ └── example.txt ├── default.nix ├── haskell │ ├── app │ │ └── Main.hs │ └── package.yaml ├── java │ ├── BUILD │ ├── WORKSPACE │ └── main.java ├── naive.py ├── report.py ├── rust-ffi │ ├── app │ │ └── Main.hs │ ├── libacbench │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── rust-toolchain │ │ └── src │ │ │ └── lib.rs │ └── package.yaml └── rust │ ├── Cargo.lock │ ├── Cargo.toml │ ├── rust-toolchain │ └── src │ └── main.rs ├── default.nix ├── nix ├── ghc966-overlay.nix ├── haskell-dependencies.nix ├── haskell-overlay.nix ├── nixpkgs-pinned.nix ├── sources.json └── sources.nix ├── performance.png ├── src └── Data │ ├── Primitive │ └── Extended.hs │ └── Text │ ├── AhoCorasick │ ├── Automaton.hs │ ├── Replacer.hs │ ├── Searcher.hs │ └── Splitter.hs │ ├── BoyerMoore │ ├── Automaton.hs │ ├── Replacer.hs │ └── Searcher.hs │ ├── BoyerMooreCI │ ├── Automaton.hs │ ├── Replacer.hs │ └── Searcher.hs │ ├── CaseSensitivity.hs │ ├── Utf8.hs │ └── Utf8 │ └── Unlower.hs ├── stack-shell.nix ├── stack.yaml ├── stack.yaml.lock └── tests ├── Data └── Text │ ├── AhoCorasickSpec.hs │ ├── BoyerMooreCISpec.hs │ ├── BoyerMooreSpec.hs │ ├── TestInstances.hs │ └── Utf8Spec.hs └── Main.hs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/.gitignore -------------------------------------------------------------------------------- /.semaphore/install-nix.sha256: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/.semaphore/install-nix.sha256 -------------------------------------------------------------------------------- /.semaphore/semaphore.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/.semaphore/semaphore.yml -------------------------------------------------------------------------------- /.stylish-haskell.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/.stylish-haskell.yaml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/README.md -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /alfred-margaret.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/alfred-margaret.cabal -------------------------------------------------------------------------------- /app/dump-automaton/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/app/dump-automaton/Main.hs -------------------------------------------------------------------------------- /bench/bm/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/bench/bm/Main.hs -------------------------------------------------------------------------------- /bench/uvector-vs-tba/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/bench/uvector-vs-tba/Main.hs -------------------------------------------------------------------------------- /benchmark.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark.sh -------------------------------------------------------------------------------- /benchmark/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/.gitignore -------------------------------------------------------------------------------- /benchmark/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/README.md -------------------------------------------------------------------------------- /benchmark/benchmark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/benchmark.py -------------------------------------------------------------------------------- /benchmark/data-utf8/example.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/data-utf8/example.txt -------------------------------------------------------------------------------- /benchmark/data/example.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/data/example.txt -------------------------------------------------------------------------------- /benchmark/default.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/default.nix -------------------------------------------------------------------------------- /benchmark/haskell/app/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/haskell/app/Main.hs -------------------------------------------------------------------------------- /benchmark/haskell/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/haskell/package.yaml -------------------------------------------------------------------------------- /benchmark/java/BUILD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/java/BUILD -------------------------------------------------------------------------------- /benchmark/java/WORKSPACE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/java/WORKSPACE -------------------------------------------------------------------------------- /benchmark/java/main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/java/main.java -------------------------------------------------------------------------------- /benchmark/naive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/naive.py -------------------------------------------------------------------------------- /benchmark/report.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/report.py -------------------------------------------------------------------------------- /benchmark/rust-ffi/app/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust-ffi/app/Main.hs -------------------------------------------------------------------------------- /benchmark/rust-ffi/libacbench/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust-ffi/libacbench/Cargo.lock -------------------------------------------------------------------------------- /benchmark/rust-ffi/libacbench/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust-ffi/libacbench/Cargo.toml -------------------------------------------------------------------------------- /benchmark/rust-ffi/libacbench/rust-toolchain: -------------------------------------------------------------------------------- 1 | stable 2 | -------------------------------------------------------------------------------- /benchmark/rust-ffi/libacbench/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust-ffi/libacbench/src/lib.rs -------------------------------------------------------------------------------- /benchmark/rust-ffi/package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust-ffi/package.yaml -------------------------------------------------------------------------------- /benchmark/rust/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust/Cargo.lock -------------------------------------------------------------------------------- /benchmark/rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust/Cargo.toml -------------------------------------------------------------------------------- /benchmark/rust/rust-toolchain: -------------------------------------------------------------------------------- 1 | stable 2 | -------------------------------------------------------------------------------- /benchmark/rust/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/benchmark/rust/src/main.rs -------------------------------------------------------------------------------- /default.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/default.nix -------------------------------------------------------------------------------- /nix/ghc966-overlay.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/nix/ghc966-overlay.nix -------------------------------------------------------------------------------- /nix/haskell-dependencies.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/nix/haskell-dependencies.nix -------------------------------------------------------------------------------- /nix/haskell-overlay.nix: -------------------------------------------------------------------------------- 1 | self: super: { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /nix/nixpkgs-pinned.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/nix/nixpkgs-pinned.nix -------------------------------------------------------------------------------- /nix/sources.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/nix/sources.json -------------------------------------------------------------------------------- /nix/sources.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/nix/sources.nix -------------------------------------------------------------------------------- /performance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/performance.png -------------------------------------------------------------------------------- /src/Data/Primitive/Extended.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Primitive/Extended.hs -------------------------------------------------------------------------------- /src/Data/Text/AhoCorasick/Automaton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/AhoCorasick/Automaton.hs -------------------------------------------------------------------------------- /src/Data/Text/AhoCorasick/Replacer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/AhoCorasick/Replacer.hs -------------------------------------------------------------------------------- /src/Data/Text/AhoCorasick/Searcher.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/AhoCorasick/Searcher.hs -------------------------------------------------------------------------------- /src/Data/Text/AhoCorasick/Splitter.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/AhoCorasick/Splitter.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMoore/Automaton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMoore/Automaton.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMoore/Replacer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMoore/Replacer.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMoore/Searcher.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMoore/Searcher.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMooreCI/Automaton.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMooreCI/Automaton.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMooreCI/Replacer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMooreCI/Replacer.hs -------------------------------------------------------------------------------- /src/Data/Text/BoyerMooreCI/Searcher.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/BoyerMooreCI/Searcher.hs -------------------------------------------------------------------------------- /src/Data/Text/CaseSensitivity.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/CaseSensitivity.hs -------------------------------------------------------------------------------- /src/Data/Text/Utf8.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/Utf8.hs -------------------------------------------------------------------------------- /src/Data/Text/Utf8/Unlower.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/src/Data/Text/Utf8/Unlower.hs -------------------------------------------------------------------------------- /stack-shell.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/stack-shell.nix -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/stack.yaml -------------------------------------------------------------------------------- /stack.yaml.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/stack.yaml.lock -------------------------------------------------------------------------------- /tests/Data/Text/AhoCorasickSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Data/Text/AhoCorasickSpec.hs -------------------------------------------------------------------------------- /tests/Data/Text/BoyerMooreCISpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Data/Text/BoyerMooreCISpec.hs -------------------------------------------------------------------------------- /tests/Data/Text/BoyerMooreSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Data/Text/BoyerMooreSpec.hs -------------------------------------------------------------------------------- /tests/Data/Text/TestInstances.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Data/Text/TestInstances.hs -------------------------------------------------------------------------------- /tests/Data/Text/Utf8Spec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Data/Text/Utf8Spec.hs -------------------------------------------------------------------------------- /tests/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/channable/alfred-margaret/HEAD/tests/Main.hs --------------------------------------------------------------------------------