'(кавычки) в схеме

Я пытаюсь выучить схему самостоятельно. Может ли кто-нибудь сказать мне, почему '(quote quote) выводит 'quote, а '(quote 'quote) выводит ''quote?

Большое спасибо!


person Leslie G    schedule 20.09.2012    source источник
comment
Я настоятельно рекомендую прочитать документацию по рэкету: [о ключевом слове цитаты](docs.racket-lang.org/reference/ и раздел 2.4.1 документа синтаксис для пар и списков.   -  person Roddy of the Frozen Peas    schedule 21.09.2012
comment
Просто отмечу: в этом, по сути, смысл упражнения SICP 2.55.   -  person dyoo    schedule 21.09.2012


Ответы (2)


Это выражение:

'(quote quote)

... после расширения '<something> до (quote <something>) эквивалентно (quote (quote quote)), обратите внимание, что символ quote дважды заключен в кавычки, и это выражение оценивается и печатается как ''quote.

С другой стороны, это выражение:

'(quote 'quote)

... эквивалентно (quote (quote (quote quote))), обратите внимание, что символ quote заключен в кавычки три раза, и это выражение оценивается и печатается как '''quote.

person Óscar López    schedule 20.09.2012