[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: DECLARATION-SCOPE
I concur with Moon's supportive remarks about Hornig's proposal.
Date: Tue, 5 Jan 88 13:44:36 PST
From: Pavel.pa@Xerox.COM
... It is not clear to me that free declarations should cover the entire form. ...
We discussed this internally before Hornig sent the proposal. I and others here
wanted free declarations to cover the entire form mainly because you need to be
able to declare things in the lambda list of a DEFUN form and you can't put a
LOCALLY around the outside of the DEFUN or the defun will no longer be at top
level (and hence may not get compiled in some implementations). eg, consider
(DEFUN FOO (&OPTIONAL (X Z) (Y Z))
(DECLARE (SPECIAL Z))
...)
If you don't have the proposed semantics, you have to write:
(LOCALLY (DECLARE (SPECIAL Z))
(DEFUN FOO (&OPTIONAL (X Z) (Y Z))
...))
which doesn't really work for the reasons cited above, or
(DEFUN FOO (&OPTIONAL (X (LOCALLY (DECLARE (SPECIAL Z)) Z))
(Y (LOCALLY (DECLARE (SPECIAL Z)) Z)))
...)
which works but is very tedious to write.