true locatives, such that two locatives compare equal if and only if they
refer to the same place; but that doesn't work for these locatives.
-\begin{describe}{cls}{loc}
+\begin{describe}{cls}{locative}
The type of locative objects.
\end{describe}
-\begin{describe}{fun}{locp @<object> @> @<generalized-boolean>}
+\begin{describe}{fun}{locativep @<object> @> @<generalized-boolean>}
Return non-nil if and only if @<object> is a locative.
\end{describe}
An anaphoric macro implicitly binds a well-known name to a value of interest,
in the course of doing something else. The concept was popularized by Paul
-Graham \cite{FIXME:OnLisp}.
+Graham \cite{graham-1993:on-lisp}.
The macros described here all bind the variable @|it|.
the partial order.
\end{describe}
+\begin{describe}{fun}{cross-product \&rest @<pieces>}
+ Return the cross product of the @<pieces>.
+
+ Each arguments may be a list, or a (non-nil) atom, which is equivalent to a
+ singleton list containing just that atom. Return a list of all possible
+ lists which can be constructed by taking one item from each argument list
+ in turn, in an arbitrary order.
+\end{describe}
+
\begin{describe}{fun}
{find-duplicates @<report> @<sequence> \&key :key :test}
Call @<report> on each pair of duplicate items in a @<sequence>.