Как это, что в
`(1 ,(+ 1 1) (- 4 1) 4) ; '(1 2 (- 4 1) 4)
знак минус ("-") рассматривается не как оператор (а как символ; '- вместо #'- - правильно?) (Эту часть я думаю, что понимаю.)
Но почему третья левая скобка действительно оценивается как '(
-> (list
... (то есть разделитель списка/выражения, а не просто литерал, как '- выше?) Интерпретатор "заглядывает вперед" для закрывающий разделитель или он просто говорит: «Хорошо, это должен быть список. Если справа нет разделителя, выражение недействительно, и это не моя проблема».
Извините за запутанный вопрос; чтобы свести это к минимуму, я думаю, мой вопрос: как интерпретатор шаг за шагом правильно оценивает приведенный выше список? (Также не стесняйтесь исправлять терминологию.)