language-spelling-0.1: Various tools to detect/correct mistakes in words

Safe HaskellNone




An implementation of Search based on a BK-tree: It performs reasonably, and it scales decently as the query distance increases. Moreover the data structure can work on any instance of EditDistance, or in fact any metric space (although no interface for that purpose is defined):

However, for very short distances (less than 3), TST is faster.


Data type

data BKTree full algo Source


empty :: BKTree full algoSource

insert :: forall full sym algo. (Eq sym, EditDistance sym algo, ListLike full sym) => full -> BKTree full algo -> BKTree full algoSource

query :: forall full sym algo. (ListLike full sym, EditDistance sym algo) => Int -> full -> BKTree full algo -> [(full, Distance algo)]Source

levenshtein :: (ListLike full sym, EditDistance sym Levenshtein) => Int -> full -> BKTree full Levenshtein -> [(full, Distance Levenshtein)]Source