I have been solving a set of online Clojure problems. One of them involves the look and say sequence.
(defn look-and-say [s]
(let [las (loop [item (first s) coll s counts [] count 0]
(cond
(nil? (seq coll)) (conj counts count item)
(= item (first coll)) (recur item (rest coll) counts (inc count))
:else (recur (first coll) coll (conj counts count item) 0)))]
(lazy-seq (cons las (look-and-say las)))))
I would like know what I did right and what I could do better. Any feedback is welcome.