(let [l '[a b a c b b]] (loop [m {} d (distinct l)] (let [item (first d)] (if (zero? (count d)) m (recur (assoc m item (count (filter #(= item %) l))) (rest d))))))
(let [l '[a b a c b b]] (loop [m {} d (distinct l)] (let [item (first d)] (if (zero? (count d)) m (recur (assoc m item (count (filter #(= item %) l))) (rest d))))))