cabal-version: >=1.10 name: anagrep version: 0.1.0.0 synopsis: Find strings with permutations (anagrams) that match a regular expression description: Given a regular expression, determine if it matches any permutation of a given string. For example, @"lt[aeiou]*"@ would match all strings with one \'l\', one \'t\', and vowels (like \"elate\", \"tail\", \"tl\", etc.). Regular expression parsing is based on and generally follows those semantics, but not all regular expression features are supported. For example, repeat modifiers cannot be applied to groups (such as "(abc)*"). The goal is for matching to be fairly efficient in most cases, given that this problem is NP-complete. license: BSD3 author: Dylan Simon maintainer: dylan@dylex.net copyright: 2020, Dylan Simon category: Text build-type: Simple source-repository head type: git location: git://github.com/dylex/anagrep flag ghc description: Enable ghc-specific optimizations (on internal Natural representation) default: True library exposed-modules: Text.Regex.Anagram Text.Regex.Anagram.Bits other-modules: Text.Regex.Anagram.Types Text.Regex.Anagram.Util Text.Regex.Anagram.Parse Text.Regex.Anagram.Compile Text.Regex.Anagram.Test build-depends: base < 5, containers, vector, regex-tdfa, case-insensitive, deepseq if flag(ghc) build-depends: ghc-prim, integer-gmp default-language: Haskell2010 ghc-options: -Wall executable anagrep hs-source-dirs: src main-is: anagrep.hs build-depends: base < 5, anagrep, bytestring, case-insensitive default-language: Haskell2010 ghc-options: -Wall test-suite test type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs build-depends: base < 5, anagrep, case-insensitive, hspec, QuickCheck default-language: Haskell2010 ghc-options: -Wall benchmark bench type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Bench.hs build-depends: base < 5, anagrep, bytestring, criterion default-language: Haskell2010 ghc-options: -Wall