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