I've started doing Project Euler using Clojure, as a first stab at learning Clojure. I've solved the first assignment:
Find the sum of all the multiples of 3 or 5 below 1000.
I've previously solved it in Python:
sum(i for i in xrange(1000) if i%3==0 or i%5==0)
This is my first Clojure attempt:
(reduce +
(filter
(fn [x]
(or
(= 0 (mod x 3))
(= 0 (mod x 5))))
(range 1000)))
I'm actually suprised about how verbose it got, but I'm pretty sure it's because of my style and ignorance of Clojure idioms.
What would an idiomatic version of this Clojure code look like?