Loose ends: Optional

Remi Forax forax at univ-mlv.fr
Wed May 29 06:30:00 PDT 2013


On 05/29/2013 12:33 AM, Brian Goetz wrote:
> OK, so the current proposal on the table is:
>
>  - Add filter, map, flatMap to Optional (these have a lot less utility 
> on the primitive versions, plus map/flatMap would require more forms)
>  - Rename ifPresent to forEach to Optional and Optional{Int,Long,Double}
>
> Anyone who hasn't already expressed an opinion want to weigh in (or 
> comment on the new aspects)?

I think the two options are linked.
If ifPresent is renamed to forEach it means that Optional is seen as a 
collection of elements (with zero or one element).

Rémi

>
> On May 28, 2013, at 4:32 PM, Tim Peierls wrote:
>
>> Oh. Emily Litella.
>>
>> On Tue, May 28, 2013 at 4:28 PM, Brian Goetz <brian.goetz at oracle.com 
>> <mailto:brian.goetz at oracle.com>> wrote:
>>
>>     Sorry, Sam typo'ed and I missed it the first time.  He meant
>>     change "ifPresent(Consumer)" to "forEach(Consumer)".  Not isPresent.
>>
>>     On May 28, 2013, at 4:26 PM, Tim Peierls wrote:
>>
>>>     On Tue, May 28, 2013 at 4:22 PM, Brian Goetz
>>>     <brian.goetz at oracle.com <mailto:brian.goetz at oracle.com>> wrote:
>>>
>>>         > The implementation decides if something can be lazy, I'm
>>>         ok with these having the same methods. In fact, I suggest we
>>>         change the name of isPresent to forEach.
>>>
>>>         I'm OK with this.  Its a little weird since there is at most
>>>         one element to each, but the connection to methods on other
>>>         containers is nice.
>>>
>>>
>>>     Please, no!
>>>
>>>     That would make Optional unusable for all the people who would
>>>     actually benefit from it.
>>>
>>>     There must be some serious disconnect. I thought this was all
>>>     settled.
>>>
>>>     --tim
>>
>>
>



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