Short Clojure digit extraction
I'd simplify as follows:

(defn get-digit [x k] (Character/digit (.codePointAt x k) 10))



codePointAt is a method of Java's String class.
digit is a static method of Java's Character class.


Both of these are in Java.lang, hence included by default. 

(-&gt;&gt; 1
     (iterate (partial * 10))
     (map (comp (partial get-digit d) dec))
     (take 7)
     (apply *))
;210


You can replace apply with reduce, if you prefer. 



The calculation may be easier to follow as a series of bindings in a  let form:

(let [powers-of-ten (iterate (partial * 10) 1)
      digits (map (comp (partial get-digit d) dec) powers-of-ten)
      seven-digits (take 7 digits)
      answer (apply * seven-digits)]
  answer)