To me this application screams destructuring. Assume you want to
(reduce + ...) a collection of sequences. I'd lead off with a simple
vector mapping operation, and the reduce over the following sequence
like so:
user=>(reduce
(fn [[acc-x acc-y] [x y]]
[(+ acc-x x) (+ acc-y y)])
(map vector [1 2 3] [4 5 6]))
[6 15]
Take your problem and adapt accordingly :)
On Jun 11, 3:59 am, Nathan Sorenson <[email protected]> wrote:
> Is there a way to fold over multiple sequences, in the same way that
> 'map' can apply a multi-parameter function over several seqs? In other
> words, is there a function like this:
>
> (defn reduce*
> [f val & colls]
> (reduce (fn [acc args] (apply f acc args))
> val
> (apply map vector colls)))
>
> That behaves like this:
> (reduce* assoc {} [:one :another] (iterate inc 1))
>
> > {:one 1, :another 2}
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en