Я пытаюсь понять, как макросы clojure применяются к спискам. Меня смущает следующее:список clojure? и макросы
(defmacro islist [f] (list? f))
(islist (1 2)) ; true
(islist '(1 2)) ; false
(islist (quote (1 2))) ; true
Ожидается ли это? Я заметил, что списки, к которым я передаю макросы, возвращают false при оценке с list?
внутри макроса. То есть, второй пример особенно запутан.
Вы уверены, что не хотите этого? (defmacro islist [f] '(list? ~ f)) – Bill