Cabal-Version: >= 1.9.2

Name:        list-tries
Version:     0.6.5
Homepage:    http://iki.fi/matti.niemenmaa/list-tries/
Synopsis:    Tries and Patricia tries: finite sets and maps for list keys
Category:    Data, Data Structures
Stability:   provisional
Description:
   This library provides implementations of finite sets and maps for list keys
   using tries, both simple and of the Patricia kind. In most (or all? sorry,
   haven't benchmarked yet) cases, the Patricia tries will have better
   performance, so use them unless you have reasons not to.
   .
   The data types are parametrized over the map type they use internally to
   store the child nodes: this allows extending them to support different kinds
   of key types or increasing efficiency. Child maps are required to be
   instances of the Map class in Data.ListTrie.Base.Map. Some operations
   additionally require an OrdMap instance.
   .
   The Eq, Ord, and Enum modules contain ready structures for key types which
   are instances of those classes, using lists of pairs, Data.Map, and
   Data.IntMap respectively.

Author:       Matti Niemenmaa
Maintainer:   Matti Niemenmaa <matti.niemenmaa+list-tries@iki.fi>
License:      BSD3
License-File: LICENSE.txt
Tested-With:  GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2,
              GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,
              GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.1

Build-Type: Simple

Extra-Source-Files: CHANGELOG.txt
                    CREDITS.txt
                    headers/*.h
                    tests/README.txt
                    tests/*.hs
                    tests/Tests/*.hs

source-repository head
  type: git
  location: https://github.com/Deewiant/list-tries

Library
   Build-Depends: base       >= 4.3  && < 4.12
                , containers >= 0.4  && < 0.6
                , dlist      >= 0.4  && < 0.9
                , binary     >= 0.5  && < 0.10

   if impl(ghc < 8.0)
      Build-Depends: semigroups >= 0.18 && < 0.19

   Exposed-Modules: Data.ListTrie.Base.Map
                    Data.ListTrie.Map
                    Data.ListTrie.Map.Eq
                    Data.ListTrie.Map.Ord
                    Data.ListTrie.Map.Enum
                    Data.ListTrie.Set
                    Data.ListTrie.Set.Eq
                    Data.ListTrie.Set.Ord
                    Data.ListTrie.Set.Enum
                    Data.ListTrie.Patricia.Map
                    Data.ListTrie.Patricia.Map.Eq
                    Data.ListTrie.Patricia.Map.Ord
                    Data.ListTrie.Patricia.Map.Enum
                    Data.ListTrie.Patricia.Set
                    Data.ListTrie.Patricia.Set.Eq
                    Data.ListTrie.Patricia.Set.Ord
                    Data.ListTrie.Patricia.Set.Enum
   Other-Modules:   Data.ListTrie.Base
                    Data.ListTrie.Base.Classes
                    Data.ListTrie.Base.Map.Internal
                    Data.ListTrie.Patricia.Base
                    Data.ListTrie.Util

   Include-Dirs: headers

   Other-Extensions: CPP
                     FlexibleContexts
                     FlexibleInstances
                     FunctionalDependencies
                     MultiParamTypeClasses
                     Rank2Types
                     ScopedTypeVariables
                     UndecidableInstances

Test-Suite list-tries-tests
   type: exitcode-stdio-1.0

   hs-source-dirs: tests
   main-is: Main.hs

   Build-Depends: list-tries
                , base                       >= 4.3 && < 4.12
                , binary                     >= 0.5 && < 0.10
                , template-haskell           >= 2.3 && < 2.14
                , HUnit                      >= 1.2 && < 1.7
                , QuickCheck                 >= 2.1 && < 2.12
                , test-framework             >= 0.2 && < 0.9
                , test-framework-hunit       >= 0.2 && < 0.4
                , test-framework-quickcheck2 >= 0.2 && < 0.4
                , ChasingBottoms             >= 1.2 && < 1.4

   Other-Modules: Tests.Base
                  Tests.Cases
                  Tests.Properties
                  Tests.Strictness
                  Tests.TH

   Other-Extensions: CPP
                     EmptyDataDecls
                     FlexibleContexts
                     FlexibleInstances
                     FunctionalDependencies
                     MultiParamTypeClasses
                     NoMonomorphismRestriction
                     PatternGuards
                     TemplateHaskell