Without use of the list mutators, and with use of structural equivalence predicates, it is not possible to tell the difference
between a list structure and a copy of the list structure | | If we make use of list mutators we can tell the difference between a list structure, LS, and a copy of LS.
The way to do it is to mutate LS and observe that the copy is not changed. Using only the functional subset of Scheme
(and disregarding the very discriminating equality predicates such as eq? and eqv?)
a copy of LS serves the same purposes as LS itself.
|