The function below splits the text variable into a sequence of characters that is steps long. The only problem is I can't figure out how to return the resulting list, which I need to compute its Shannon entropy for several values of step.
(defn split-text [text step]
(loop [i 0 result []]
(when (<= (+ i step) (count text))
(recur (+ i step)
(conj result (subs text i (+ i step)))))))
(defn split-text [text step] (map (partial apply str) (partition step text)))