Peter Norvig has an essay on 
How to Write a Spelling Corrector. There are implementations in many languages.  However, the link to the Haskell version is broken now.  So I used this opportunity to practice my limited Haskell skill.
File: SpellChecker/Core.hs
File: Main.lhs