[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dg%acorn@oak.lcs.mit.edu: Re: &REST]
Date: Sun, 17 May 87 17:56 est
From: dg%acorn@oak.lcs.mit.edu
Subject: Re: &REST
To: Acuff@SUMEX-AIM.STANFORD.EDU
Cc: common-lisp@SAIL.STANFORD.EDU
Date: Fri, 15 May 87 14:01:46 PDT
From: Richard Acuff <Acuff@SUMEX-AIM.STANFORD.EDU>
For the record, in Release 3, TI has attempted, with apparent
success, to remove the restrictions on using &REST lists outside of
the dynamic scope of the parameter. (While increasing the performance
of the system, to boot.)
-- Rich
-------
Are there exactly 0 restrictions now?
Does this mean that removing the restrictions actually improved the
performance of the system, or was that just coincidental?
-dg
There are 0 restrictions on using &REST lists outside of the dynamic
scope of the parameter. The way we do it is the following:
We have a new datatype for &rest args (A list on the stack). When
somebody tries to store a pointer of type stack-list, the microcode
triggers a copy. The copy process is recursive if the &rest args are
nested. The copy is done is such a way that it preserves EQness. Since
the data type check is hardware assisted, it is done without performance
penalty.
The performance improvement is coincidental.
Patrick.