Yet another run at reduce (original) (raw)

Brian Goetz brian.goetz at oracle.com
Tue Jan 8 07:17:07 PST 2013


Yes, and I think this captures all the reasons why you would use an unordered reduce.

Having one abstraction as we do (Stream) presents a documentation challenge, because a lot of the important concepts (stream flags, ordering, non-interference) don't have a really obvious place to be documented. But we'll have to do it anyway.

On 1/8/2013 9:59 AM, Doug Lea wrote:

On 01/07/13 20:31, Brian Goetz wrote:

The requirement for B is that: - your combining functions are associative and commutative We will someday need to put out a clear story about this here and elsewhere: The requirement is that you do not care about order. Which may arise because source is unordered, destination is unordered, the op is commutative, or just because you just don't care. For example, collecting/merging elements using list-concat may be fine to do this way if you need a List but don't care about the order of elements in that list. -Doug



More information about the lambda-libs-spec-observers mailing list