[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: REST-LIST-ALLOCATION (Version 3)
- To: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Subject: Re: Issue: REST-LIST-ALLOCATION (Version 3)
- From: masinter.pa@Xerox.COM
- Date: 2 Jan 89 19:14 PST
- Cc: firstname.lastname@example.org, masinter.pa@Xerox.COM
- In-reply-to: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>'s message of Tue, 13 Dec 88 21:15 EST
re: "The only issue then would be whether there were implementations where
the always-share functionality would be impossible to implement"
In the Medley implementation of Common Lisp (and in all the Interlisp
implementations I'm familiar with), APPLY always "spreads" its arguments on
the stack, independent of the internal argument structure of the recipient
function; an &REST argument is always "consed" from the stack structure. In
this implementation, always-share would require APPLY to "look ahead"
somehow, and invoke some kind of alternate version of the function which
could take the rest list "shared".
Re "Perhaps declarations like...."
I am opposed to adding declarations that change the behavior of correct
programs. Except for SPECIAL, declarations change only the "checking" for
incorrect programs and not the behavior of correct programs.