The spelling-suggest package

Given a possibly-misspelled word,
this tool spits out one or more properly-spelled words in order
of likelihood of similarity.

This functionality is exported as a library via
Text.SpellingSuggest (suggest) and as
a command-line program thimk (an old joke)

Running the program thimk-makedb is an optional (but highly recommended)
step to speed up lookups,
permitting reasonable performance on enormous dictionaries
by creating a
precompiled SQlite database of phonetic
codes for a dictionary.