[Openmcl-devel] Compiler warnings
Ron Garret
ron at flownet.com
Wed Oct 21 03:46:15 PDT 2009
On Oct 20, 2009, at 7:47 PM, Jeremy Jones wrote:
> Ron Garret wrote:
>> "If a form is a symbol that is not a symbol macro, then it is the
>> name
>> of a variable, .... There are three kinds of variables: lexical
>> variables, dynamic variables, and constant variables."
>
> I'm not a language lawyer, but my interpretation is that if x is
> unbound, and you do a toplevel (setf x 1), you're creating a dynamic
> variable but it's not special.
According to the CL spec, dynamic and special are synonymous.
> So there are two subtypes of dynamic
> variables, free variables and special variables. I claim that CCL is
> conforming to the standard because it only has three toplevel types of
> variables. A free variable is dynamic because its value is looked up
> in the value cell of a symbol at run time.
One could just as well argue that a free variable is lexical because
the symbol lookup is done at read-time, not run-time. If this were
not the case, global symbol macros could not be lexical (but they are).
rg
More information about the Openmcl-devel
mailing list