TrieMap-3.0.1: TrieMap.cabal
name: TrieMap
version: 3.0.1
cabal-version: >= 1.6
tested-with: GHC
category: Algorithms
synopsis: Automatic type inference of generalized tries with Template Haskell.
description: Provides a efficient and compact implementation of generalized tries, and Template Haskell tools to generate
the necessary translation code. This is meant as a drop-in replacement for Data.Map.
The most recent release combines zipper-based ideas from recently proposed changes to Data.Map, as well
as heavily optimized ByteString and Vector instances based on the vector package.
Since version 2, unit tests and benchmarks have been taken much more seriously, and major optimizations
have been made.
Compared to Data.Map and Data.Set, on e.g. @ByteString@s, TrieMaps support 6-12x faster @union@,
@intersection@, and @difference@ operations, 2x faster @lookup@, but 2x slower @toList@, and 4x slower @filter@.
Other operations are closely tied. TrieMaps tend to use somewhat more memory, and frequently perform better
with increased heap space and allocation area.
license: BSD3
license-file: LICENSE
author: Louis Wasserman
maintainer: wasserman.louis@gmail.com
build-type: Simple
extra-source-files: Tests.hs
source-repository head
type: git
location: git@github.com:lowasser/TrieMap.git
Library{
build-Depends: base < 5.0.0.0, containers, template-haskell, bytestring, th-expand-syns, vector, primitive
ghc-options:
-Wall -fno-warn-name-shadowing -fno-warn-orphans -O2 -fno-spec-constr-count -fno-spec-constr-threshold
-fno-liberate-case-threshold -fmax-worker-args=100
exposed-modules:
Data.TrieMap,
Data.TrieSet,
Data.TrieMap.Class,
Data.TrieMap.Representation,
Data.TrieMap.Modifiers
other-modules:
Control.Monad.Ends,
Data.TrieMap.TrieKey,
Data.TrieMap.Utils,
Data.TrieMap.Sized,
Data.TrieMap.Representation.Class,
Data.TrieMap.Representation.TH,
Data.TrieMap.Representation.TH.Utils,
Data.TrieMap.Representation.TH.Representation,
Data.TrieMap.Representation.TH.Factorized,
Data.TrieMap.Representation.TH.ReprMonad,
Data.TrieMap.Representation.Instances,
Data.TrieMap.Representation.Instances.Basic,
Data.TrieMap.Representation.Instances.Prim,
Data.TrieMap.Representation.Instances.Foreign,
Data.TrieMap.Representation.Instances.Vectors,
Data.TrieMap.Representation.Instances.ByteString
Data.TrieMap.WordMap,
Data.TrieMap.OrdMap,
Data.TrieMap.UnitMap,
Data.TrieMap.ProdMap,
Data.TrieMap.UnionMap,
Data.TrieMap.ReverseMap,
Data.TrieMap.Key,
Data.TrieMap.RadixTrie,
Data.TrieMap.RadixTrie.Slice,
Data.TrieMap.RadixTrie.Edge,
Data.TrieMap.RadixTrie.Label,
Data.TrieMap.Class.Instances
}