If you want to access the nth value of a list, you can use nth :
(defn diff-last-first [& args] (- (nth args (dec (count args))) (nth args 0)))
But, of course, as you noted in your question, it is more idiomatic to use first and last :
(defn diff-last-first [& args] (- (last args) (first args)))
source share