[Openmcl-devel] Compiler warnings
james.anderson at setf.de
Wed Oct 21 16:31:37 UTC 2009
On 2009-10-21, at 18:15 , Ron Garret wrote:
> On Oct 21, 2009, at 8:33 AM, Daniel Weinreb wrote:
>> The following paragraph will make sense (even if you
>> disagree with it) if I am understanding your use of
>> the vocabulary as you mean it; not, if not.
>> Whether a symbol has been declared special is one of the
>> inputs to the decision that the evaluator makes as to
>> whether to treat a symbol (when seen in context of
>> being a varible) as dynamic versus lexical. Although
>> a top level "(setq x 5)" does not declare the symbol x
>> special, Lisp nevertheless treats it as a special variable.
> No, Lisp does *not* treat it as a special variable, at least not as
> defined in the spec. If it did, the following would return 2:
> (setf x 1)
> (defun foo () x)
> (let ((x 2)) (foo))
> but it doesn't, it returns 1.
well, it does. sometimes. as a side-effect of using the symbol value
? (let ((x 2)) (declare (special x)) (foo))
[ it's among the examples in my previous post. ]
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openmcl-devel