The Levenshtein Distance algorithm finds the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character.

This public domain Common Lisp implementation of the Levenshtein Distance (levenshtein-1.0.tgz) was converted to Common Lisp from the Scheme example given in Wikipedia.

mw-diff-sexp applies the same algorithm to S-expressions. Soundex may also be of interest for those wanting to sort words.