3.2 Making declarations
specialdeclaration specifies that a given variable will be dynamically scoped rather than lexically scoped. When a variable is dynamically bound, its value can be referred to and changed outside of the lexical scope of the binding as long as the point of reference is also within the dynamic scope of the binding.
To make a local declaration, which observes the rules of lexical scope, use the
declare special form. To make a global declaration, which affects all bindings of the variable, use the
proclaim function. To globally proclaim a special variable and give it an initial value, use the Common Lisp macros
The effect of a
special declaration is exactly the same in both the Compiler and the interpreter. However, an unbound special variable can cause obscure errors in the compiled code.
Generated with Harlequin WebMaker