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

Issue: ADJUST-ARRAY-NOT-ADJUSTABLE (Version 3)



I am strongly opposed to this proposal.  It is not documenting the
status quo, but rather tries to resolve a bitter debate by fiat!

The proposal claims the following as the status quo:

  Document clearly that omitting the :ADJUSTABLE option to MAKE-ARRAY
  or explicitly supplying :ADJUSTABLE NIL may not guarantee a non-adjustable
  array. ADJUSTABLE-ARRAY-P ...  MIGHT be true of an array created with 
  no :ADJUSTABLE option or with :ADJUSTABLE NIL.

This may be the Symbolics 3600 status quo (and TI Explorer); but no other
implementation I'm aware of takes this variant view of CLtL.  Considering
the strong, though not unanimous,  opposition  to making all arrays 
adjustable, I don't see how you can expect to resolve the debate simply
making such a statement.

Why not just admit that the intent of simple arrays was to accommodate 
the needs of "stock" hardware implementations?  Thus remembered, no one 
could mistake the intent for SIMPLE-ARRAYs -- that they be non-adjustable.
Indeed, why create such an arbitrary type subset if it were only of 
theoretical interest?  [Remember also the "RPG Memorial Array" proposal.]  

Then this whole disingenuous re-reading of the history of adjustable 
arrays and "loopholes" in CLtL could be dropped; and Symbolics could 
simply say something like:
    "Symbolics extends Common Lisp ARRAY functionality in an improved,
     but technically incompatible, way." 
That simple, frank statement would make everybody much more comfortable
(especially 3600 user's who wonder why their code doesn't port), and 
would finally close the debate so that we don't have to waste yet more 
and more time on it.   [Yes, I'm aware that Symbolics would have to face 
persistent demands from some of their users to "come into compliance"; 
but it's much more likely that you can make satisfactory explanations to 
these customers than that you can convince the "stock hardware" types to 
swallow universal adjustability.]


-- JonL --