TernaryTrees 0.1.3.1 → 0.1.3.2
raw patch · 1 files changed
+37/−32 lines, 1 files
Files
- TernaryTrees.cabal +37/−32
TernaryTrees.cabal view
@@ -1,35 +1,35 @@ Name: TernaryTrees-Version: 0.1.3.1+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:- .- * (This minor version just changes the dependency on binary >= 0.5.0.0)- .- * 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)).- .- © 2009 by Alex Mason (<http://random.axman6.com/blog/>). BSD3 license.- + 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)).+ .+ © 2009 by Alex Mason (<http://random.axman6.com/blog/>). BSD3 license.+ License: BSD3 License-file: LICENSE.txt Author: Alex Mason@@ -40,15 +40,20 @@ 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+ 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,+ Data.Set.StringSet,+ Data.Map.TernaryMap,+ Data.Set.TernarySet.Internal,+ Data.Set.StringSet.Internal,+ Data.Map.TernaryMap.Internal Executable tdict Main-Is: Main.hs