or just make a macro for that, which would combine normal juxt behaviour with .method behaviour. Something like this:
user> (defmacro juxt+ [& fns]
(let [x (gensym)]
`(fn [~x] ~(mapv #(list % x) fns))))
#'user/juxt+
for example:
(juxt+ .getName (partial str "string val: ") .getAbsolutePath vector)
expands to the following:
(fn*
([G__19829]
[(. G__19829 getName)
((partial str "string val: ") G__19829)
(. G__19829 getAbsolutePath)
(vector G__19829)]))
in repl:
user> ((juxt+ .getName
(partial str "string val: ")
.getAbsolutePath
vector)
(java.io.File. "aaa"))
["aaa"
"string val: aaa"
"/Users/.../aaa"
[#object[java.io.File 0x34c3af49 "aaa"]]]