Lazy look and say sequence
one of the great things about Clojure is the ability to seperate code into concerns and then compose them. This really helps spot reusable parts and lets you build code in smaller independently testable parts.

the parts I see are:


given a sequence of number produce the next one 

partition-all the seq into groups of consecutive numbers
for each group of consecutive numbers say how many there are (map say list-o-groups)
flatten the result into one list. but really you should use mapcat in the previous step and skip this step.

apply the the result to the same function (the iterate function)
take as many of these as you need