packages feed

edit-distance-0.2.0: edit-distance.cabal

Name:                edit-distance
Version:             0.2.0
Cabal-Version:       >= 1.2
Category:            Algorithms
Synopsis:            Levenshtein and restricted Damerau-Levenshtein edit distances
Description:         Optimized edit distances for fuzzy matching, including Levenshtein and restricted Damerau-Levenshtein algorithms.
License:             BSD3
License-File:        LICENSE
Extra-Source-Files:  README.textile
Author:              Max Bolingbroke
Maintainer:          batterseapower@hotmail.com
Homepage:            http://github.com/batterseapower/edit-distance
Build-Type:          Simple

Flag Tests
        Description:    Enable building the tests
        Default:        False

Flag Benchmark
        Description:    Enable building the benchmark suite
        Default:        False

Flag SplitBase
        Description:    Choose the new smaller, split-up base package
        Default:        True


Library
        Exposed-Modules:        Text.EditDistance
        Other-Modules:          Text.EditDistance.EditCosts
                                Text.EditDistance.SquareSTUArray
                                Text.EditDistance.STUArray
                                Text.EditDistance.Bits
                                Text.EditDistance.MonadUtilities
        
        if flag(splitBase)
                Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0, containers >= 0.1.0.1
        else
                Build-Depends:  base < 3
        
        Ghc-Options:            -O2

Executable edit-distance-tests
        Main-Is:                Text/EditDistance/Tests.hs
        
        Extensions:             PatternGuards, PatternSignatures,
                                ScopedTypeVariables
        Ghc-Options:            -O2
        
        if !flag(tests)
                Buildable:      False
        else            
                Build-Depends:          test-framework >= 0.1.1, QuickCheck >= 1.1 && < 2.0, test-framework-quickcheck
                if flag(splitBase)
                        Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0
                else
                        Build-Depends:  base < 3

Executable edit-distance-benchmark
        Main-Is:                Text/EditDistance/Benchmark.hs
        
        if !flag(benchmark)
                Buildable:      False
        else
                if flag(splitBase)
                        Build-Depends:  base >= 3 && < 5, array >= 0.1, random >= 1.0, old-time >= 1.0, process >= 1.0,
                                        parallel >= 1.0, unix >= 2.3
                else
                        Build-Depends:  base < 3,
                                        parallel >= 1.0, unix >= 2.3
            
        Ghc-Options:            -O2