Le parentesi quadre intorno agli argomenti in Clojure defn
, defmacro
e binding
(sto dimenticando un po '?) Davvero creando un vettore o è solo una questione di sintassi, facendo risaltare gli argomenti dal resto?Le parentesi quadre di defn, defmacro e binding di Clojure sono davvero un vettore?
sto leggendo Clojure in azione in cui si afferma:
Clojure utilizza vettori per denotare argomenti delle funzioni o forme di legame.
che mi ha fatto fare questa domanda qui.
Grande, grazie :) –
Una domanda però (dopo due anni e mezzo ...), perché questo non è accettato? (defn foo (vettore 'x' y) (+ x y)) –
La forma 'defn' è una macro quindi al momento dell'esame (tempo di espansione della macro) non è stato valutato nulla. Quindi, quando guarda il modulo vincolante, si aspetta un vettore ma vede invece una lista '(vector (quote x) (quote y))'. – fogus