cabal-version: 2.2 name: ncd-tree version: 0.1.0.0 synopsis: text similarity search using normalized compression distance and VP trees description: ncd-tree is a Haskell library that implements a data structure and query layer for efficient similarity search based on the Normalized Compression Distance (NCD) metric and Vantage Point (VP) trees. It allows users to store and query large datasets of text documents, enabling fast retrieval of similar texts based on their compressed representations. This library is particularly useful for applications such as document clustering and recommendation systems. NCD is a parameter-free, universal similarity metric based on information distance, which quantifies how similar two objects are by measuring the length of their compressed concatenation relative to their individual compressed lengths. VP trees are a type of metric tree that organizes data points in a way that allows for efficient nearest neighbor searches in metric spaces. homepage: https://github.com/ocramz/ncd-tree license: BSD-3-Clause license-file: LICENSE author: Marco Zocca maintainer: ocramz copyright: 2025 Marco Zocca category: Data build-type: Simple extra-source-files: README.md CHANGELOG.md tested-with: GHC == 9.10.3 library default-language: Haskell2010 hs-source-dirs: src exposed-modules: Data.NCDTree build-depends: base >= 4.7 && < 5 , bytestring , heaps , vector , vector-algorithms , zlib ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -- executable ncd-tree -- default-language: Haskell2010 -- hs-source-dirs: app -- main-is: Main.hs -- build-depends: base -- , ncd-tree -- ghc-options: -Wall -- -Wcompat -- -Widentities -- -Wincomplete-record-updates -- -Wincomplete-uni-patterns -- -Wmissing-export-lists -- -Wmissing-home-modules -- -Wpartial-fields -- -Wredundant-constraints -- -threaded -- -rtsopts -- -with-rtsopts=-N test-suite spec default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Spec.hs other-modules: Data.NCDTreeSpec build-depends: base , ncd-tree , bytestring , heaps , hspec , hspec-discover , QuickCheck ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints benchmark bench default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: bench main-is: Main.hs build-depends: base , ncd-tree , bytestring , benchpress , deepseq , heaps ghc-options: -Wall -O2 -threaded -rtsopts source-repository head type: git location: https://github.com/ocramz/ncd-tree