Why do many core macros pass bindings as a vector, then destructure them in various ways into symbols and values. This is instead of just providing the symbol and value, e.g.,
(defmacro my-macro [s v & body] `(let [~s ~v] ....... In at least five macros in core.clj, this was changed recently, as validated by an IllegalArgumentException. What is the reasoning behind the newer design? In some cases, I think this is done because there could be multiple pairs of symbol-values in the bindings, but in other cases, the vector is expected to have exactly two items. Joshua --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---