Andreas Thiele <email@example.com> wrote:
| <firstname.lastname@example.org> schrieb:
| > What's the correct way to define a global without getting dynamic
| > scope, or SBCL warnings?
| I am not 100% sure but I think all global variables are special, meaning
| dynamic. I think this has to to with their environment.
| Helpful might be:
Also helpful is KMP's writeup of "FAILED Issue PROCLAIM-LEXICAL"
(a reference to which is found in Ron's excellent little paper above):
The CL committee struggled over if/how to add "global lexicals"
and, in the end, simply punted. Actually, they *did* provide one out,
the DEFINE-SYMBOL-MACRO macro, which can be used to provide the
*appearance* of global lexicals, see:
18.104.22.168.1 Symbols as Forms
A binding for a symbol macro can be shadowed by
LET or SYMBOL-MACROLET.
Issue ISO-COMPATIBILITY Writeup
1. DEFINE-SYMBOL-MACRO can be used to define global lexicals,
by having a global lexical be a symbol macro that expands
into a reference to a globally allocated cell that is not
subject to dynamic binding.
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607