complete, but not quite efficient, implementation
gitignore for haskell
Levenshtein edit-distance function
from http://www.haskell.org/haskellwiki/Edit_distance