[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: COPYALL, COPYLIST, et alia



We seem to be in disagreement about which name to use for the (subst nil
nil ...) function.  The votes so far show that RMS votes for COPYTREE,
KMP seems to agree with this, Alan likes COPYALL, Moon likes COPYLISTS,
and CWH likes COPY-ALL-LEVELS.

For everyone's information, COPYLIST* is like COPYLIST except for the
CDR-coding.  COPLIST* creates a list whose last cons is a full-node, so
that you can RPLACD it without creating invisible pointers.

The Lisp Machine also has a function called COPYALIST, which copies the
top two levels of strucure, for association lists.

It would seem to be more consistent with the naming system that we are
currently using NOT to use a hyphenated name.  None of our little list
utilities have hyphens; whether or not this would have been a good
design decision from the start is academic.  At this point I consider
it more obvious and aesthetic to be consistent.  So I don't want to
use COPY-ALL-LEVELS.

Also, copying all the conses has nothing to do with lists.  Lists are
a higher-level abstraction built on conses; this function does not
use that concept at all.  So I don't want to use COPYLISTS.

This leaves COPYALL and COPYTREE, with one and two votes respectively.
Neither seems particularly better than the other.  Anyone have further
useful contributions to the discussion, or should we just pick one
randomly?  Let's not waste too much effort on this.