|
ANSI Common Lisp 14 Conses 14.2 Dictionary of Conses
14.2.13 tree-equal |
Function |
- Syntax:
-
tree-equal
tree-1 tree-2 &key test test-not
generalized-boolean
- Arguments and Values:
-
tree-1 - a tree.
tree-2 - a tree.
test - a designator for a function of two arguments
that returns a generalized boolean.
test-not - a designator for
a function of two arguments
that returns a generalized boolean.
generalized-boolean - a generalized boolean.
- Description:
-
tree-equal tests whether two trees are of the same shape
and have the same leaves.
tree-equal returns true if tree-1 and tree-2 are
both atoms and satisfy the test,
or if they are both conses and
the car of tree-1 is tree-equal to
the car of tree-2 and
the cdr of tree-1 is tree-equal to
the cdr of tree-2.
Otherwise, tree-equal returns false.
tree-equal recursively compares conses but not any
other objects that have components.
The first argument to the :test or :test-not
function is tree-1 or a car or cdr of tree-1;
the second argument is tree-2 or a car
or cdr of tree-2.
- Examples:
-
(setq tree1 '(1 (1 2))
tree2 '(1 (1 2))) (1 (1 2))
(tree-equal tree1 tree2) true
(eql tree1 tree2) false
(setq tree1 '('a ('b 'c))
tree2 '('a ('b 'c))) ('a ('b 'c))
((QUOTE A) ((QUOTE B) (QUOTE C)))
(tree-equal tree1 tree2 :test 'eq) true
- Exceptional Situations:
-
The consequences are undefined
if both tree-1 and tree-2 are circular.
- See Also:
-
equal,
Section 3.6 Traversal Rules and Side Effects
- Notes:
-
The :test-not parameter is deprecated.
- Allegro CL Implementation Details:
-
None.
|