\section{\module{soundex} ---
         None}
\declaremodule{builtin}{soundex}

\modulesynopsis{None}



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.  (Note
that the original algorithm produces a 4-character result.)
\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})} \code{==}
\code{get_soundex(\var{string2})}.
\end{funcdesc}


\begin{seealso}
  \seetext{Donald E. Knuth, \citetitle{Sorting and Searching}, vol. 3
           in ``The Art of Computer Programming.'' Addison-Wesley
           Publishing Company:  Reading, MA: 1973. pp.\ 391-392.
           Discusses the origin and usefulness of the algorithm, as
           well as the algorithm itself.  Knuth gives his sources as
           \emph{U.S. Patents 1261167} (1918) and \emph{1435663}
           (1922), attributing the algorithm to Margaret K. Odell and
           Robert C. Russel.  Additional references are provided.}
\end{seealso}
