The reason you can't get this to work is that r/map returns a <reducible>
not a <coll> for reduce to operate on. I'm not sure of a solution because
I'm not familiar with core.reducers. But reading this:
http://clojure.com/blog/2012/05/08/reducers-a-library-and-model-for-collection-processing.html
informed
me of your problems. Sorry I can only point you in the right direction
rather than provide a solution.
On Friday, January 24, 2014 5:26:11 AM UTC-5, Tassilo Horn wrote:
>
> Hi all,
>
> in the following, set is clojure.set, and r is clojure.core reducers.
>
> Why is
>
> user> (reduce set/intersection (map set [[1 2] [3 1] [1 3]]))
> #{1}
>
> but
>
> user> (reduce set/intersection (r/map set [[1 2] [3 1] [1 3]]))
> ArityException Wrong number of args (0) passed to: set$intersection
> clojure.lang.AFn.throwArity (AFn.java:437)
>
> The clojure.core/reduce docs state that when there's no init value, the
> reduce function is called with the first two elements of the coll.
>
> The behavior of calling the reduce function with no arguments to create
> an init value is specified for r/reduce, but I'm not using that.
>
> Is that a bug, or should I not expect that clojure.core/reduce works
> with reducible collections? (I've not followed which reducer changes
> were made in clojure 1.5.1.)
>
> Bye,
> Tassilo
>
--
--
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
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.