packages feed

trie-simple-0.4.4: trie-simple.cabal

name:                trie-simple
version:             0.4.4
synopsis:            Simple Map-based Trie
description:
  A trie data structure @TMap c v@, to hold a mapping from list of characters (@[c]@) to
  something. In other words, a data structure isomorphic to @Map [c] v@.
  It is more efficient to query compared to @Map@. Also, it supports extra
  operations like prefix matching.
  
  This package contains @TSet c@ too, which is isomorphic to @Set [c]@.
license:             BSD3
license-file:        LICENSE
author:              Koji Miyazato
maintainer:          viercc@gmail.com
copyright:           Koji Miyazato
category:            Data Structures
build-type:          Simple
extra-source-files:  README.md
extra-doc-files:     CHANGELOG.md
cabal-version:       2.0
tested-with:         GHC == 9.2.8, GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.2, GHC ==9.10.1

source-repository head
  type:     git
  location: https://github.com/viercc/trie-simple
  branch:   master

library
  hs-source-dirs:      src
  exposed-modules:     Data.Trie.Set,
                       Data.Trie.Set.Internal,
                       Data.Trie.Map,
                       Data.Trie.Map.Internal
  other-modules:       Data.Trie.Set.Hidden,
                       Data.Trie.Map.Hidden
  build-depends:       base         >= 4.14     && < 4.22,
                       containers   >= 0.5.7.1 && < 0.8,
                       deepseq      >= 1.4.2.0 && < 1.6,
                       mtl          >= 2.2.1   && < 2.4,
                       indexed-traversable >= 0.1.1 && <0.2,
                       witherable   >= 0.4 && < 0.6,
                       matchable    >= 0.1.2 && <0.3,
                       hashable     >= 1.3 && < 1.6,
                       semialign    >= 1.3 && < 1.4,
                       these        >= 1 && < 2
  default-language:    Haskell2010
  ghc-options:         -Wall -Wno-dodgy-exports

test-suite trie-simple-test
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Spec.hs
  other-modules:  Data.Trie.SetSpec,
                  Data.Trie.Set.Gen,
                  Data.Trie.MapSpec,
                  Data.Trie.Map.Gen,
                  Common
  build-depends: base,
                 containers,
                 vector,
                 QuickCheck,
                 hspec,
                 trie-simple
  build-tool-depends:  hspec-discover:hspec-discover == 2.*
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language: Haskell2010

benchmark trie-benchmark
  type:                exitcode-stdio-1.0
  hs-source-dirs:      bench
  main-is:             trie-benchmark.hs
  other-modules:       Common
  build-depends:       base,
                       deepseq,
                       containers,
                       tasty-bench,
                       vector,
                       mwc-random,
                       trie-simple
  ghc-options:         -O2 -Wall -threaded -rtsopts -with-rtsopts=-N
  default-language:    Haskell2010