Tables

T3.1 contains generalized hash tables. A table associates a key with a value. MAKE-HASH-TABLE is the most general way to make a hash table. In addition, the most common types of tables have been predefined.
\begin{inset}{Caution:}
This feature is experimental and may go away or change in future
releases.
\end{inset}

Tables should be used in place of property lists.


\begin{inset}{}
{\mbox {\tt MAKE-HASH-TABLE}} creates a table which associates k...
...n identifier used by the print method of the table.
\end{description}\end{inset}


\begin{inset}{}
{\mbox {\tt HASH-TABLE?}} returns true if the {\it object} is a hash table.
\end{inset}

Settable


\begin{inset}{}
{\mbox {\tt TABLE-ENTRY}} returns the {\it object} associated wi...
...} if there is an entry for {\it key},
otherwise returns {\it false}.
\end{inset}


\begin{inset}{}
{\mbox {\tt WALK-TABLE}} invokes {\it proc}, a procedure of two ...
...s an error to perform any operations on the table
while walking it.
\end{inset}

The following common table types have been predefined as follows:


\begin{inset}{}
{\mbox {\tt MAKE-TABLE}} creates a {\it table} in which any obje...
... {\mbox {\tt EQV?}} is used as the equality
predicate on {\it keys}.
\end{inset}


\begin{inset}{}
{\mbox {\tt TABLE?}} returns true if the {\it object} is an {\mbox {\tt EQ?}} table.
\end{inset}


\begin{inset}{}
{\mbox {\tt MAKE-STRING-TABLE}} creates a {\it table} in which
t...
...\tt STRING-EQUAL?}} is used as the equality predicate on
{\it keys}.
\end{inset}


\begin{inset}{}
{\mbox {\tt STRING-TABLE?}} returns true if the {\it object} is a
{\it string-table}.
\end{inset}


\begin{inset}{}
{\mbox {\tt MAKE-SYMBOL-TABLE}} creates a table in which the key...
...ls} and {\mbox {\tt EQ?}} is used as the equality
predicate on keys.
\end{inset}


\begin{inset}{}
{\mbox {\tt SYMBOL-TABLE?}} returns true if the {\it object} is a
{\it symbol-table}.
\end{inset}