The "Common Lisp" version:
(for [i (range 1 10) :when (even? i) :while (< i 5)] i)
(->> (range 1 10) (take-while #(< % 5)) (filter even?))
(into [] (comp (take-while #(< % 5)) (filter even?)) (range 1 10))
The "Common Lisp" version:
A Haskell-y version (according to the article): Using Clojure's transducers: