Yet another run at reduce

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