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

Re: Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (version 10)



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.