The main internal protocol is really CollReduce for collections that can 
reduce themselves.  InternalReduce is for concrete seq implementations that 
can reduce themselves.

For cases where you are creating new things, you can also plug in a little 
more easily by implementing the IReduceInit (reduce with an init value) or 
IReduce (extends IReduceInit for the case where an init value is not 
supplied) Java interfaces. I would generally prefer these if you are 
creating a new thing.


On Friday, April 29, 2016 at 2:41:10 PM UTC-5, Camilo Roca wrote:
>
> puzzler, 
> No, Clojure actually has quite a lot of protocols for reducing "things". 
> But they are so many that I got lost in which does what and how, so I 
> wanted a clarification on the subject.
>
> Alex miller, excellent answer already gave me some overview of the topic.
>
> Here is a link to Clojure's protocols for reduce: 
> https://github.com/clojure/clojure/blob/master/src/clj/clojure/core/protocols.clj
>  
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fclojure%2Fclojure%2Fblob%2Fmaster%2Fsrc%2Fclj%2Fclojure%2Fcore%2Fprotocols.clj&sa=D&sntz=1&usg=AFQjCNEw9QmBOeBqHioMJEhGeBYF_N2gTA>
>
> El viernes, 29 de abril de 2016, 21:17:42 (UTC+2), puzzler escribió:
>>
>> By "internal reduce", are you all talking about the Clojure reducers 
>> library, or something else?
>>
>>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to