A simple BK-Tree implementation in Haskell.
The implementation of the tree structure is located in BKTree.hs. An example usage of the tree is located in SpellCorrect.hs, which uses Levenshtein distance as the tree metric to suggest spelling corrections.
For a full discussion of how this code works, see this blog post.
This implementation is freely usable under the terms of the MIT License