[Solved] Clojure: How to Preserve Variadic Args Between Function Calls


From http://clojuredocs.org/clojure_core/clojure.core/apply

;you can also put operands before the list of operands and they’ll be
consumed in the list of operands (apply + 1 2 ‘(3 4)) ; equal to
(apply + ‘(1 2 3 4))
=> 10

So

(defn bar [x & ys] (apply foo (clojure.string/upper-case x) ys))

should work.
For your problem with Java varargs note noisesmith’s comment.

solved Clojure: How to Preserve Variadic Args Between Function Calls