Являются ли квадратные скобки в Clojure defn, defmacro и действительно привязаны к вектору?

Являются ли квадратные скобки вокруг аргументов в Clojure defn, defmacro и binding (я забыл некоторые?), действительно создавая вектор или это просто вопрос синтаксиса, в результате чего аргументы выделяются из остальное?

Я читаю Clojure в действии, в котором говорится:

Clojure использует векторы для обозначения аргументы функции или формы привязки.

из-за чего я задал этот вопрос здесь.

Ответы

Ответ 1

Да, это действительно вектор. Мы видим, что, создавая функцию вручную, а затем оценивая ее:

(eval (list (list 'fn (vector 'x) (list '* 'x 2)) 100))
;=> 200

Надеюсь, что это поможет.