Так и должно быть, поскольку выражение 'a
является аббревиатурой для списка (quote a)
, и принтер интерпретатора использует этот сокращенный текст для вывода.Вы должны заметить, что если вы скажете переводчику оценить 'a
, он напечатает a
без украшений с апострофом.
Если вы попытаетесь удалить части (list 'quote 'a)
, вы увидитеточно список, который вы ожидали получить:
> (car (list 'quote 'a))
quote
> (cadr (list 'quote 'a))
a
Итак, в итоге, вы получаете ожидаемый результат, но не ожидаемое представление.Если вы действительно требуете, чтобы вы получили в качестве вывода (quote a)
, то вам нужно заглянуть в документацию вашего интерпретатора, чтобы убедиться, что это поддерживается.Или вам может потребоваться написать собственную процедуру для распечатки списков.