Ho una macro che prende un corpo:Come posso mescolare gli argomenti delle parole chiave opzionali con il resto?
(defmacro blah [& body] (dostuffwithbody))
Ma vorrei aggiungere un argomento parola chiave opzionale ad esso pure, in modo che quando lo chiamò potrebbe assomigliare a uno di questi:
(blah :specialthingy 0 body morebody lotsofbody)
(blah body morebody lotsofboy)
Come posso farlo? Nota che sto usando Clojure 1.2, quindi sto anche usando il nuovo argomento di parole chiave destrutturanti. Ho ingenuamente provato a fare questo:
(defmacro blah [& {specialthingy :specialthingy} & body])
Ma ovviamente non ha funzionato bene. Come posso realizzare questo o qualcosa di simile?