In JavaScript, one can do the following:
function foo(arg1, arg2, arg3) { ... } var others = [ 'two', 'three' ]; foo('one', ...others); // same as foo('one', 'two', 'three') In Clojure, "variable args" can be accepted like so:
(defn foo [arg1 & others] ...) But to pass them in combination with other args, you have to do this:
(apply foo (concat '("one") others)) Which is frankly really ugly. It's also impossible when what you need to do is recur:
(apply recur (concat '("one") others)) ;; doesn't work Is there a better way to do this? And if not, is there any way at all to accomplish it in the recur case?