Thursday, May 14, 2009

Symbols are big

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: