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