Subject: Re: special declaration in clisp
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 10 Jan 2005 23:02:41 -0600
Newsgroups: comp.lang.lisp
Message-ID: <squdnTAe-ZZswH7cRVn-ug@speakeasy.net>
Alex Mizrahi <udodenko@hotmail.com> wrote:
+---------------
| there's an example in CLHS:
+---------------

The examples in CLHS are not normative, that is, they don't *define*
the standard, only comment about it. Sometimes the examples have bugs
in them. That's the case here.

+---------------
| (setf (symbol-value 'x) 6)
+---------------

There is no defined behavior in the absence of a global definition
of "x", e.g., "(defparameter x 6)" perhaps. And if you *do* replace
the SETF with a DEFVAR, then CLISP gives the same result as the others.

+---------------
| (defun foo (x)                         ;a lexical binding of x
+---------------

But it's not lexical if there is a global special declaration.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607