Son los corchetes en torno a los argumentos en Clojure defn
, defmacro
y binding
(¿me olvido de algunos?) Realmente crear un vector o es simplemente una cuestión de sintaxis, por lo que los argumentos se destacan del resto?¿Los corchetes en definición, defmacro y unión de Clojure son realmente un vector?
estoy leyendo Clojure en Acción que establece:
Clojure utiliza para denotar vectores argumentos de la función o formas de unión.
que me hizo hacer esta pregunta aquí.
Genial, gracias :) –
Sin embargo, una pregunta (después de dos años y medio ...), ¿por qué no se acepta esto? (defn foo (vector 'x' y) (+ x y)) –
La forma 'defn' es una macro, por lo que en el momento de su examen (tiempo de expansión de macro) no se ha evaluado nada. Entonces, cuando mira la forma de enlace, espera un vector, pero en su lugar ve una lista '(vector (quote x) (quote y))'. – fogus