Correct is a Clojure implementation of a spelling corrector by Peter Norvig. To learn more about how the spelling corrector works and the reasoning behind it, please visit How to Write a Spelling Corrector; to learn more about how map/reduce works and how it has been implemented here, please visit Understanding Data Processing with Map/Reduce; to learn more about Clojure in general, please visit Clojure - Functional Programming for the JVM.
$ clj
user=> (use '[spelling.correction :only [correct]])
user=> (correct "tets") ; -> "test"
user=> (correct "correct") ; -> "correct"
user=> (correct "novelword") ; -> "novelword"