if (!(arg instanceof List)) {
throw context.getRuntime().newRuntimeError("argument should be array");
}
List other = (List)arg;
try {
Var two_arrays_diff_fn = null;
if (DiametricService.fnMap.containsKey("two-arrays-diff")) {
two_arrays_diff_fn = DiametricService.fnMap.get("two-arrays-diff");
} else {
Var var = DiametricService.getFn("clojure.core", "load-string");
String fn =
"(defn two-arrays-diff [this other]\n" +
" (let [f (fn [ary n] (remove (partial = n) ary))]\n"+
" (reduce f this other)))";
two_arrays_diff_fn = (Var)var.invoke(fn);
DiametricService.fnMap.put("two-arrays-diff", two_arrays_diff_fn);
}
Object value = two_arrays_diff_fn.invoke(vector_or_seq, other);
return DiametricCollection.getDiametricCollection(context, (List)value);
} catch (Throwable t) {