name:     pattern-trie
version:  0.1.1
category: Data
synopsis: Pattern tries
description:
    Simple pattern tries for structured keys, where lookups
    can capture (parts of) the input strings.

author: Roman S. Borschel
maintainer: Roman S. Borschel <roman@pkaboo.org>
copyright: 2018 Roman S. Borschel
license: MPL-2.0
license-file: LICENSE

cabal-version: 1.18
build-type: Simple
extra-source-files: CHANGELOG.md, docs-extra/*.tex
extra-doc-files: docs-extra/*.png

source-repository head
    type: git
    location: https://gitlab.com/romanb/pattern-trie

library
    default-language: Haskell2010
    hs-source-dirs: src
    exposed-modules:
        Data.Trie.Pattern
    default-extensions:
        NoImplicitPrelude
    ghc-options:
        -Wall
        -fwarn-tabs
        -- -ddump-simpl
        -- -dsuppress-all
        -- -dno-suppress-type-signatures
        -- -dno-suppress-idinfo
    build-depends:
        base                 >= 4.11  && < 5
      , bytestring           >= 0.10  && < 1.0
      , containers           >= 0.5.7 && < 0.7
      , deepseq              >= 1.4.3 && < 1.5
      , hashable             >= 1.2   && < 1.4
      , text                 >= 1.0   && < 2.0
      , unordered-containers >= 0.2   && < 0.3

test-suite tests
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    main-is: Main.hs
    ghc-options:
        -Wall
        -fwarn-tabs
        -threaded
    other-modules: Test.Data.Trie.Pattern
    build-depends:
        base
      , bytestring
      , containers
      , mtl
      , pattern-trie
      , QuickCheck           >= 2.10
      , tasty                >= 0.11
      , tasty-quickcheck     >= 0.9
      , unordered-containers

test-suite doctests
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    main-is: doctests.hs
    build-depends:
        base
      , doctest >= 0.16

benchmark bench
    default-language: Haskell2010
    type: exitcode-stdio-1.0
    hs-source-dirs: bench
    main-is: Main.hs
    build-depends:
        base
      , bytestring
      , criterion
      , containers
      , deepseq
      , hashable
      , pattern-trie
      , text

    if impl(ghc < 8.4)
        build-depends: bytestring-trie