Поведение цитаты с векторами и комплексными числами в Common Lisp
После игры с векторами и комплексными числами в Common Lisp мне стало интересно кое-что. А именно, как quote
оператор относится к этим структурам данных?
Например, когда дело доходит до списков, следующие примеры для меня просты:
CL-USER> '(1 2)
(1 2)
CL-USER> ''(1 2)
'(1 2)
Давайте сделаем то же самое с векторами:
CL-USER> #(1 2)
#(1 2)
CL-USER> '#(1 2)
#(1 2)
CL-USER> ''#(1 2)
'#(1 2)
И комплексные числа:
CL-USER> #c (1 2)
#C(1 2)
CL-USER> '#c (1 2)
#C(1 2)
CL-USER> ''#c (1 2)
'#C(1 2)
Чтобы сэкономить место, я просто скажу, что цитирование символов ведет себя аналогично.
Мой вопрос: почему #
а также '#
оценивается с тем же выражением? В чем причина этого? Каковы "кишки" этого механизма?