Is there any (reasonable) way to write this macro as a function?
(defmacro assocTop
[v & args]
`(push (pop ~v)
(assoc (peek ~v) ~@args)))
Given a vector of maps and some associations, the macro code applies the associations to the top/peeked map.
However, when trying to write it as a function, I can't figure out how to expand the ~@args in a legitimate way. In normal functions, is there a way to turn args, which I believe has the form (:a 3 :bb 44 :cd 90,...) into :a 3 :bb 44 :cd 90,... ,i.e. without the parens?