[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: REMF-DESTRUCTION-UNSPECIFIED (Version 2)
- To: Masinter.PA@Xerox.COM
- Subject: Re: REMF-DESTRUCTION-UNSPECIFIED (Version 2)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Wed, 11 Nov 87 09:18 EST
- Cc: CL-Cleanup@SAIL.STANFORD.EDU
- In-reply-to: <871111-014959-6472@Xerox>
Date: 11 Nov 87 01:49 PST
From: Masinter.pa@Xerox.COM
...
(REMF place indicator)
is permitted to either SETF place or to SETF the CDR of the
part of the top-level list in place which points to what
(GET-PROPERTIES place (LIST indicator)) would return.
In addition, the cells removed may be "destroyed".
If we say this, I would prefer to say they must be destroyed -- specifically,
the car of both removed cells must be set to NIL. This would have the following
advantages:
* DLA would get his efficiency boost.
* Implementations would agree.
* The minimal usefulness of the defined behavior would tend to
actively thwart users taking any advantage of the cells in the
first place.
(SETF (GET symbol indicator) value)
behaves exactly the same as
(SETF (GETF (SYMBOL-PLIST symbol) indicator) value).
(NREVERSE sequence), (DELETE object sequence ...), (DELETE-IF test
sequence ...), (DELETE-IF-NOT test sequence ...), (DELETE-DUPLICATES
sequence ...), (NSUBSTITUTE new-object old-object sequence ...),
(NSUBSTITUTE-IF new-object test sequence ...), (NSUBSTITUTE-IF-NOT
new-object test sequence ...)
when sequence is a list may "destroy" sequence
...
You use this verb destroy a bunch, but I think it is the nature of the
original problem -- not the solution.
I feel that we should say very explicitly in the new spec that they may
only affect the cdr chain or that they may only affect the the cars of
the cells in the chain and must leave the cdr chain itself intact or
that they may affect either the cars or the cdrs in the chain. Verbs
like "destroy" should either be explicitly defined to mean one of these
very specific things in the new glossary, or should be avoided entirely.
I also feel that code portability will be affected unless we agree that
either the cars or the cdrs are what can change.