Survey on map/flatMap disambiguation

Joe Bowbeer joe.bowbeer at gmail.com
Thu Mar 14 12:11:37 PDT 2013


The survey (and proposal) did not mention the affect on Int/Long/Double
streams either.  mapToInt, mapToObj, map...

Is this verbose strangeness introduced in the map namespace worth having
consistency with flatMap?  I'd rather sacrifice flatMap than change map.

I think the results of this survey should be tabled until a complete
proposal is presented.



On Thu, Mar 14, 2013 at 10:26 AM, Kevin Bourrillion <kevinb at google.com>wrote:

> Ouch.  That is pretty gnarly.  Did we realize that before we voted?
>
>
>
> On Thu, Mar 14, 2013 at 10:04 AM, Brian Goetz <brian.goetz at oracle.com>wrote:
>
>> The survey is closed, results are here:
>>
>> https://www.surveymonkey.com/**sr.aspx?sm=**
>> 9UyN8RRvMX8BnpTdd4rYgDlXU9uUVA**LNDjNn_2fY2e9_2fo_3d<https://www.surveymonkey.com/sr.aspx?sm=9UyN8RRvMX8BnpTdd4rYgDlXU9uUVALNDjNn_2fY2e9_2fo_3d>
>>
>> The sense of the EG was strongly in favor of disambiguating both map and
>> flatMap; several argued that they liked the "less magic" aspect of it, and
>> the explicitness of where we go from reference to primitive streams and
>> back.
>>
>> This does create a possibility for performance bugs, where users do:
>>
>>   stuff.map(Foo::size).reduce(0, Integer::sum)
>>
>> instead of
>>
>>   stuff.mapToInt(Foo::size).**reduce(0, Integer::sum)
>>
>> Both will now compile, but the former will be boxed and the latter won't
>> be.  The previous status quo saved users from themselves in this case.
>>
>> Will make the following changes:
>>
>>  Stream.map -> {map,mapTo{Int,Long,Double}}
>>  Stream.flatMap -> {flatMap,flatMapTo{Int,Long,**Double}}
>>  {Int,Long,Double}Stream.map -> map,mapToObj
>>
>>
>>
>> On 3/10/2013 7:51 PM, Brian Goetz wrote:
>>
>>> I've posted a survey for the EG at:
>>>
>>>    https://www.surveymonkey.com/**s/NT5DW7G<https://www.surveymonkey.com/s/NT5DW7G>
>>>
>>> where people can express their opinion on the issue of flatMap
>>> disambiguation (see thread entitled "flatMap ambiguity").
>>>
>>> The password has been communicated directly to the EG; contact me if you
>>> didn't get it.
>>>
>>> Usual survey rules: enter your name with your response, all results will
>>> be made public after the survey closes.  I'll set a closing time of 6PM
>>> PT Wednesday of this week.
>>>
>>
>
>
> --
> Kevin Bourrillion | Java Librarian | Google, Inc. | kevinb at google.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/lambda-libs-spec-experts/attachments/20130314/f87306aa/attachment.html 


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