loop es el abuelo:
(defn f [s n]
(loop [r "" c n]
(if (= c 0)
r
(recur (str r s) (dec c)))))
Pero también puedes hacerlo como copiando, línea a línea, de Java:
(defn f [s n]
(let [sb (StringBuilder.) c (* n (count s))]
(do
(while (> c (.length sb))
(.append sb s))
(str sb))))
Claro que la solución funcional es más sencilla:
(defn f [s n] (->> s (repeat) (take n) (apply str)))
--
Marcelo Morales