Map, Reduce and Filter in Clojure
Map
Map applies a function to each element in a collection and returns a new collection with the results of each function.

user> (map #(+ 10 %1) [ 1 3 5 7 ]) (11 13 15 17)
Reduce
Reduce applies a function on all elements of a collection and returns a value. This value could also be another collection.

user> (reduce * [2 3 4]) 24
Filter
Filter applies a predicate function to each element in a collection and returns a new filtered collection.

user> (filter even? [1 2 3 4 5 6]) (2 4 6)

Reduce can basically return whatever you want, not just a scalar value. For instance, it can return another collection.
Amit Rathore
July 27, 2010 at 6:10 am
Thanks Amit for pointing out. I have updated my blog.
Siva Jagadeesan
July 27, 2010 at 6:34 am