Почему вы не можете разделить кавычки в обычном (без кавычек) коде?

В Clojure вы можете разбить список значений на кавычки для генерации кода, например,

(def extra-values [1 2 3 4])

`(+ 100 200 ~@extra-values)
=> (clojure.core/+ 100 200 1 2 3 4)

Кажется логичным, что тот же подход должен работать в контексте без кавычек, например,

(def extra-values [1 2 3 4])

(+ 1000 ~@extra-values)
=> [an error, but one could argue that the answer should be 1010??]

Есть ли какая-то глубокая техническая/философская причина, почему это не может работать?

5
задан mikera 7 February 2012 в 05:13
поделиться