Skip to content

batterseapower/edit-distance

Repository files navigation

Edit Distance Algorithms

You can help improve this README with extra snippets and advice by using the GitHub wiki.

Installing

To just install the library:

runghc Setup.lhs configure
runghc Setup.lhs build
sudo runghc Setup.lhs install

If you want to build the tests, to check it’s all working:

runghc Setup.lhs configure -ftests
runghc Setup.lhs build
dist/build/edit-distance-tests/edit-distance-tests

Description

Edit distances algorithms for fuzzy matching. Specifically, this library provides:

They have been fairly heavily optimized. Indeed, for situations where one of the strings is under 64 characters long I use a rather neat “bit vector” algorithm: see the authors paper and the associated errata for more information. The algorithms could be faster, but they aren’t yet slow enough to force me into improving the situation.

Example

Text.EditDistance> levenshteinDistance defaultEditCosts "witch" "kitsch"
2

Linkage