Hi, Am 26.10.2009 um 18:55 schrieb Abhijith:
> (defn foobar [arr--of-arr] > (let [ acc (transient {}) ] > (doseq [ [i e] (indexed arr-of-arr) word e ] > (assoc! acc word (if-let [v (acc word)] (conj v i) [i]))) > (persistent! acc))) I think the problem is the wrong use of transients. Try the following (untested) version: (defn foobar [vec-of-vec] (persistent! (reduce #(assoc %1 (first %2) (conj (get %1 (first %2) []) (second %2))) (transient {}) (for [[i word] (indexed vec-of-vec) e word] [e i])))) Sincerely Meikel
smime.p7s
Description: S/MIME cryptographic signature