So you're saying that this is an optimization that is automatically called when you invoke Clojure's standard reduce function on something like a vector?
On Fri, Apr 29, 2016 at 1:14 PM, Alex Miller <a...@puredanger.com> wrote: > 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. > -- 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.