Поведение вложенных цитат в схеме и ракетке
При написании функции в Racket я случайно поместил две одинарные кавычки перед символом вместо одного. то есть я случайно написал '' a и обнаружил некоторое поведение вложенных цитат, которое кажется странным. Я использую DrRacket и проверил это как на Racket lang, так и на R5RS.
(write (pair? (quote (quote a))))
печатает: #t.
(write (car (quote (quote a))))
печать: цитата
Но
(write (quote (quote a)))
а также
(write '(quote a)))
Оба печатают: 'a
Может кто-нибудь сказать мне, почему в Scheme (и Racket) пара функций? интерпретирует (quote (quote a))) как пару из двух элементов quote и a, но функция write выводит 'a вместо (quote a).