This macro gives the output of a given line as the first argument of the next line function call. For e.g.
(rename-keys (assoc {:a 1} :b 1) {:b :new-b}))
Can't understand anything, right? Lets try again, with ->
(-> {:a 1}
(assoc :b 1) ;;(assoc map key val)
(rename-keys {:b :new-b})) ;;(rename-keys map key-newkey-map)