Неинтернированные символы в Common Lisp

Несколько раз я сталкивался с понятием неинтернированных символов, но я не совсем ясно о том, что они из себя представляют.

Есть ли способ интернировать символ, созданный с помощью (make-symbol)?
Можно ли присвоить значение символу, не вставляя его?
Возможно ли это переименовать символ (интернированный или неинтернированный)?
Что еще можно сделать с неинтернированным символом?

Обновление:
Что происходит с символами в этом фрагменте кода?

CL-USER> (defun func ()
           (let ((var 'sym))
             (print (find-symbol "sym"))
             (print var)))
FUNC
CL-USER> (func)

NIL 
SYM 
SYM

Мое неправильное понимание:
1. find-symbol выводит nil, поэтому символ не используется
2. var печатает sym без #: в начале, что означает интернирование

8
задан sabof 5 December 2011 в 17:18
поделиться