Fork me on GitHub

I was wondering if anyone had any book suggestions for beginners to both Clojure and/or functional programming?


Awesome thanks :-) I'll check them out.


I have it a lot that I build a list of values in a let form, one value depending on the other, then push them into a map as a return value. I cannot create them directly in the map because one depends on the other ― and a map doesn't provide a way to refer back to previously defined keys of itself within the same initialization form (I think). So I build all values in a let form, then push them one by one into the map.


Short of my own solution, anything in clojure core for more conciseness and less ceremony?


@matan lift the structural duplication into a helper:

(let [average (fn [f rows]
                  (apply + (map f rows))
                  (count rows)))]
  {:recall (average :correct-vs-gold row-evaluations)
   ... ...