Clojure has most of the semantics you're used to in other languages.
http://clojuredocs.org/clojure_core/clojure.core/let
(let [username "prollyignored"
karma 7]
(println username "has" karma "karma points."))
; prollyignored has 7 karma points.
http://clojuredocs.org/clojure_core/1.2.0/clojure.core/loop (loop [n 0]
(when (< n 10)
(print n)
(recur (inc n))))
;=> 0123456789
http://clojuredocs.org/clojure_core/clojure.core/for (for [x [0 1 2 3 4 5]
:let [y (* x 3)]
:when (even? y)]
y)
;=> (0 6 12)
Or just: (filter even? (map #(* % 3) [0 1 2 3 4 5]))
;=> (0 6 12)
Browse the Clojure cheatsheet: http://clojure.org/cheatsheet