Symbol structure from Chap 8 of Ansi Common Lisp.

So when a function FOO is defined, there will be a pair inserted into current package: <"FOO" 'FOO>, a string as function name and a symbol to hold the name, function object, package etc.
Unless FOO is in function call form (foo), you'll have to use symbol 'foo to reference it:

When we set a variable to an old symbol, a new symbol is created and the value is set to the old symbol - kind of indirect pointers:

No comments:
Post a Comment