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

[Gall: Bug Report]



    Date: Thu, 28 Mar 85 16:56 EST
    From: Daniel L. Weinreb <DLW@SCRC-STONY-BROOK.ARPA>

	Date: Wed, 27 Mar 85 20:09 EST
	From: David A. Moon <Moon@SCRC-STONY-BROOK.ARPA>
	were EVAL-WHEN permitted inside a function body (it is not; see p.66).

	...

	On p.66 it says that DEFVAR is not allowed elsewhere than top-level.

    Are we reading the same page 66?  Mine says "It is not illegal to use
    these forms at other than top level, but whether it is meaningful to do
    so depends on context."  To my ears, this is sort of like saying
    that integers can be of any precision, but after they get larger
    than the fixnum limit, their behavior depends on context.

In my opinion, saying that is not meaningful is tantamount to saying that
it is not allowed.  The phrase I should have used was not "not allowed",
but "not defined by standard Common Lisp".

    Also, note the wording in the description of DEFUN on page 67: "Because
    DEFUN forms normally appear at top level, this is normally the null
    lexical environment."  This wording strongly suggests that DEFUN might
    sometimes not be at top level, and the environment is not necessarily
    always null.  After all, if DEFUN were only allowed at top-level, why
    bother with the "normally" qualifiers?  But you never find out anything
    further.

    I'm not advocating either side right at the moment; my point is that the
    manual is ambiguous (one might even say "coy") on this subject.

Indeed.