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

&REST lists



    Date: Mon, 4 Jan 1988  20:27 EST
    From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>

	Is there general agreement on whether it is valid Common Lisp to
	destructively modify (RPLACA, RPLACD) the list to which a &REST
	parameter is bound?  I can't find a reference in CLtL for this.

    I think there's general agreement that &rest args are supposed to be
    righteous lists with indefinite extent, so RPLAC'ing them ought to be
    legal.

I don't think I ever remembered to answer this.  This is specious
reasoning.  The premise that values of &rest parameters have indefinite
extent does not imply the conclusion that each value of an &rest
parameter is an independent object that does not share structure with
any other object.  There is general agreement on the premise, but
certainly not on the conclusion.

Please don't confuse the issue of extent, on which Symbolics still
deliberately violates the standard (this is a well-known, documented
violation, which will go away when we get the resources to make it
go away) with the issue of structure sharing.