packages feed

TernaryTrees-0.1.3.2: TernaryTrees.cabal

Name:                   TernaryTrees
Version:                0.1.3.2
Category:               Data Structures
Synopsis:               Efficient pure ternary tree Sets and Maps
Description:            Ternary trees are an efficient structure often used for storing
                        strings for fast lookups. This package implements a generic tree
                        for storing lists of Ord instances, and a specialised String
                        implementation which is about 30% faster than the generic version.
                        .
                        An example program is provided what shows how to use the package
                        as a dictionary program for spell checking, and how it can be 
                        used to serialise data with Don Stewart's Data.Binary package.
                        .
                        From my testing, using the \/usr\/share\/dict\/words file on my system
                        (over 230,000 words), inserting all words, checking they all exist
                        in the tree, writing them to a binary file, reading them back in
                        and checking the read in result is the same as the original takes
                        slightly over 3 seconds using the StringSet. The written file is 
                        also slightly smaller than the input (by over 40% in some cases).
                        .
                        New in this version:
                        .
                        * (Exported the Internal modules because apparently you need to)
                        .
                        * Moved datatype definitions into .Internal modules so that
                          testing can be performed, without needing to export their definitions in the
                          main modules.
                        .
                        * Checked a lot of the source with HLint 1.6 and made some minor changes based on that ((mostly redundant brackets)).
                        .
                        &#169; 2009 by Alex Mason (<http://random.axman6.com/blog/>). BSD3 license.
                        
License:                BSD3
License-file:           LICENSE.txt
Author:                 Alex Mason
Maintainer:             Alex Mason (irc: Axman6) <axman6@gmail.com>
build-type:             Simple
Cabal-Version:          >= 1.2
Extra-Source-Files:
        Data/Map/TernaryMap.hs
        Data/Set/TernarySet.hs
        Data/Set/StringSet.hs
        Data/Set/StringSet/Internal.hs
        Data/Set/TernarySet/Internal.hs
        Data/Map/TernaryMap/Internal.hs

Library
        Build-Depends:
                base >= 4.0.0.0, base < 5.0.0.0, binary >= 0.4.4
        Exposed-modules:
                Data.Set.TernarySet,
                Data.Set.StringSet,
                Data.Map.TernaryMap,
                Data.Set.TernarySet.Internal,
                Data.Set.StringSet.Internal,
                Data.Map.TernaryMap.Internal

Executable tdict
  Main-Is:        Main.hs
  Build-Depends:  base