X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/a75cd932464ce21ab46e9eaec83e4b1359649bc6..54ea6ee880f52c23279bf58262ca245b531d04b0:/doc/misc.tex?ds=sidebyside diff --git a/doc/misc.tex b/doc/misc.tex index 890dd14..859ec51 100644 --- a/doc/misc.tex +++ b/doc/misc.tex @@ -505,6 +505,15 @@ be implemented fairly easily using @|merge-lists| below. the partial order. \end{describe} +\begin{describe}{fun}{cross-product \&rest @} + Return the cross product of the @. + + 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 @ @ \&key :key :test} Call @ on each pair of duplicate items in a @. @@ -513,9 +522,14 @@ be implemented fairly easily using @|merge-lists| below. and $y$ are considered equal if and only if @|(funcall @ (funcall @ $x$) (funcall @ $y$))| returns non-nil. + The @ function is called as @|(funcall @ @ + @)|. Duplicates are reported in order; the @ item is + always the first matching item in the sequence. + This function will work for arbitrary @ functions, but it will run - much more efficiently if @ is @|eq|, @|eql|, @|equal|, or @|equalp| - (because it can use hash-tables). + much more efficiently if @ is @|eq|, @|eql|, @|equal|, or @|equalp|, + because it can use hash-tables. (The generic implementation for lists is + especially inefficient.) \end{describe} @@ -1114,6 +1128,7 @@ Most of these symbols are defined in the @|optparse| package. \begin{describe*} {\dhead{fun}{p-name @ @> @} + \dhead{meth}{property}{file-location (@ property) @> @} \dhead{fun}{p-value @ @> @} \dhead{fun}{p-type @ @> @} \dhead{fun}{p-key @ @> @}