[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.