\section{Standard Module \sectcode{soundex}}
\stmodindex{soundex}

\renewcommand{\indexsubitem}{(in module soundex)}
The soundex algorithm takes an English word, and returns an
easily-computed hash of it; this hash is intended to be the same for
words that sound alike.  This module provides an interface to the
soundex algorithm.

Note that the soundex algorithm is quite simple-minded, and isn't
perfect by any measure.  Its main purpose is to help looking up names
in databases, when the name may be misspelled -- soundex hashes common
misspellings together.

\begin{funcdesc}{get_soundex}{string}
Return the soundex hash value for a word; it will always be a
6-character string.  \var{string} must contain the word to be hashed,
with no leading whitespace; the case of the word is ignored.
\end{funcdesc}

\begin{funcdesc}{sound_similar}{string1, string2}
Compare the word in \var{string1} with the word in \var{string2}; this
is equivalent to 
\code{get_soundex(\var{string1})==get_soundex(\var{string2})}.
\end{funcdesc}
