Nulls
Remi Forax
forax at univ-mlv.fr
Fri Sep 21 09:56:21 PDT 2012
On 09/21/2012 06:25 PM, Brian Goetz wrote:
> I think the "if we don't support it people won't adopt lambda" is way,
> way overstated. Its a factor to consider, nothing more.
>
> But, the reality is that code where there are nulls in collections is
> still likely to blow *somewhere*. Yes, it would be great if it blew
> where the null was inserted. But that ship has sailed. What we're
> discussing now is:
> - should we check nulls when the element flows into the stream?
you will blow in the middle of the pipeline.
> - should we check nulls at the other end, like forEach/into/toArray?
what about filter/map, what is the meaning of null, like in concurrent
collection ? (no meaning)
> - should we stick our fingers in our ears and say "la la la can't see
> those nulls la la la"?
I suppose the last sentence, is the same as if a user put null in a
collection, just send him back.
Rémi
>
> On 9/21/2012 12:11 PM, Remi Forax wrote:
>> On 09/21/2012 05:37 PM, Kevin Bourrillion wrote:
>>> On Fri, Sep 21, 2012 at 5:49 AM, Remi Forax <forax at univ-mlv.fr
>>> <mailto:forax at univ-mlv.fr>> wrote:
>>>
>>> Support them is the only realistic option, there are too many
>>> codes out there that put null in collections, otherwise it will
>>> seriously impede the adoption of lambdas.
>>>
>>>
>>> You would think so, but take a look at how hard Guava is on nulls, and
>>> we pretty much get away with it.
>>>
>>> There are always plenty of strategies for fixing your code to not need
>>> to put nulls into collections, and most of them leave the code better
>>> off.
>>
>> Let's say that streams will not support nulls.
>> My fear is that if a collection have a null in it, it will blow in the
>> middle of the process,
>> far away from where the error lies i.e. when null was added in the
>> collection.
>> To reuse the Josh moto, blow often, blow early, if you don't throw the
>> exception early,
>> at the point where the mistake is made, throwing an exception in the
>> middle of the process
>> will be seen as something annoying instead as something that heps devs.
>>
>>>
>>> I'm not taking a position on the issue, just saying the argument that
>>> we /have/ to support nulls doesn't hold water with me. So /what/ if it
>>> "impedes adoption" of lambdas a bit? Pleasing everyone all of the time
>>> isn't an option anyway.
>>
>> Rémi
>>
More information about the lambda-libs-spec-experts
mailing list