Несколько раз я сталкивался с понятием неинтернированных символов, но я не совсем ясно о том, что они из себя представляют.
Есть ли способ интернировать символ, созданный с помощью (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 без #: в начале, что означает интернирование