I'd like agree with Goetz's opinion, Collectors like in Clojure 1.7 
Transducers. Java 8 have some transducers, such as Comparator.comparing, 
java.util.stream.Collectors.mapping、reducing、groupingBy、partitioningBy、summing 
、Collectors.flatMapping(in Java 9) etc.
I think a Java 8 Collector is a "reducing function", it's supplier fn is 
arity-0, it's accumulator fn is arity-2,it's arity-1 fn is finisher or 
completion. And Stream.collect() is similar to Clojure into function.
see also: 
https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/InsideTransducers.md


Best regards,
Solomon

Reply via email to