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

Issue ADJUST-ARRAY-DISPLACEMENT (Version 3)



    Date: Sun, 7 Jun 1987  19:29 EDT
    From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>


	Rather than wait for some resolution of Kent's question about the
	omission of the :DISPLACED-TO argument, I took the liberty of guessing
	that adjusting a displaced-to array without setting the :displaced-to
	meant that the result was displaced to the same place. I inserted rule 3
	and renumbered the rules.

    The manual is pretty vague in this area, but my reading of
    ADJUST-ARRAY (which says that the :DISPLACED-TO argument is the same as
    in MAKE-ARRAY) is that if no :DISPLACED-TO argument is supplied, the
    resulting array is never displaced, even if it had been originally.
    That's what we implemented in Spice Lisp, and that's the interpretation
    that seems to be consistent with the rest of this proposal (e.g. the rule
    that if :DISPLACED-INDEX-ARG is not supplied, it defaults to zero rather
    than the old index).

Scott, I think you're right.  Also I think the second paragraph on p.298
can only be interpreted as saying that if you don't specify :DISPLACED-TO,
it doesn't retain the old displacement.

    So I support the earlier version of the proposal, with the added
    clarification that if no :DISPLACED-TO argument is supplied in a call to
    ADJUST-ARRAY, the resulting array is not displaced, even if the original
    array had been displaced.  That is clear, simple, and sufficient in my
    view.

Agreed.