Major Section: SWITCHES-PARAMETERS-AND-MODES
Examples: (set-invisible-fns-table ((binary-+ unary--) (binary-* unary-/) (unary-- unary--) (unary-/ unary-/))) (set-invisible-fns-table t) ; restore original invisible-fns-tableAmong other things, the setting above has the effect of making
unary--
``invisible'' for the purposes of applying permutative
:
rewrite
rules to binary-+
trees. Thus, arg
and (unary-- arg)
will
be given the same weight and will be permuted so as to be adjacent.
The form (invisible-fns-table (w state))
returns the current value
of the invisible functions table.Also see add-invisible-fns and see remove-invisible-fns for events that add to and remove from the invisible functions table, while accounting for macro aliases (see macro-aliases-table).
General Form: (set-invisible-fns-table alist)where
alist
is either t
or a true list of pairs, each element of
which is of the form (fn ufn1 ... ufnk)
, where fn
is a function
symbol and each ufni
is a unary function symbol. When alist is t
,
the initial value of this table is used in its place. Modulo the
replacement of alist
by the default setting when alist
is t
, this
macro is equivalent to
(table invisible-fns-table nil 'alist :clear)which is also an event (see table).
Note that set-invisible-fns-table
does not evaluate its argument.
However, you can call table
directly for that purpose. For example,
(set-invisible-fns-table ((binary-+ unary--) (binary-* unary-/) (unary-- unary--) (unary-/ unary-/)))ie equivalent to the following; see table.
(table invisible-fns-table nil (quote ((binary-+ unary--) (binary-* unary-/) (unary-- unary--) (unary-/ unary-/))) :clear)
See invisible-fns-table for a description of the invisible functions table.