[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DEFVAR
Date: Mon, 20 Oct 1986 13:45 EDT
From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
CLtL (p68) is not explicit on its intent about whether (DEFVAR FOO) is
allowed to or intended to intialize FOO.
I believe that everyone's intent was that (DEFVAR FOO) should leave FOO
unbound. I would have sworn that the manual said this, but I guess it
doesn't.
Given that and the current syntax, there is the question of how the user
is supposed to supply a doc string for the variable if no initial
value is wanted. This was discussed in the past on one or two
occasions. I think the general feeling was that SETF of DOCUMENTAITON
was good enough in the rare case where this functionality is needed.
I personally preferred the
(defvar foo foo "foo's doc string")
suggestion since that is one declarative form instead of
(defvar foo)
(setf (documentation 'foo) "foo's doc string")
on the grounds that the latter is two forms, one declarative and one
procedural, and is more clumsy. It's not at all clear this is "rare".
- References:
- DEFVAR
- From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>