Survey on map/flatMap disambiguation

Brian Goetz brian.goetz at oracle.com
Mon Mar 18 07:27:51 PDT 2013


It seems there were some second thoughts on this after the survey.  I'll 
wait another 24 hours for discussion to take root, otherwise I'll push 
the change.

On 3/14/2013 1:04 PM, Brian Goetz wrote:
> The survey is closed, results are here:
>
> 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
>>
>> 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.


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