[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (version 10)
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (version 10)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Tue, 20 Jun 89 22:44 EDT
- Cc: KMP@STONY-BROOK.SCRC.Symbolics.COM, Cl-Cleanup@SAIL.Stanford.EDU, sandra%defun@cs.utah.edu
The proposal as written sounds fine to me. I would be content to vote
Yes on it as is.
Since there was a hint of future changes possible, here are a few
comments on the changes I might anticipate based on the discussion...
- I agree with Sandra that the array should not be altered unless the EQ
array is going to be returned.
- I do not want to see ADJUSTABLE-ARRAY-P removed because it provides
important functionality. Sometimes you cannot call ADJUST-ARRAY because
you don't own all the pointers and cannot do the magic SETQ and some
applications may need to be able to detect this dynamically, perhaps
going into the debugger in that case, but at least having the option to
know.
I will concede that ADJUSTABLE-ARRAY-P is now misnamed. Perhaps that's
what really makes people want to flush it. It no longer answers the
question it looks like it does -- but it does answer a useful question.
Suppose it was
:ADJUST-ACTION :COPY (or :NEW)
or :ADJUST-ACTION :IDENTITY (or :RECYCLE)
Then you would say
(MAKE-ARRAY ... :ADJUST-ACTION :COPY)
and
(ARRAY-ADJUST-ACTION foo) => :COPY
Or if you prefer booleans,
(MAKE-ARRAY ... :ADJUST-WILL-COPY T) ;or NIL
and
(ARRAY-ADJUST-WILL-COPY foo) => T ;or NIL
Note that -MIGHT-COPY could be chosen, too, if that was the preferrable sense.
I'm mostly just trying to illustrate the space of possible naming styles, not
take a stand on a particular style.
The latter case is a simple renaming. The former is more in the style
used by the OPEN function.