Issue created https://github.com/JuliaLang/julia/issues/6224.


On Thu, Mar 20, 2014 at 12:17 PM, Stefan Karpinski <[email protected]>wrote:

> Actually, I think that rather than being a misinterpretation of the
> predicate direction, this may be due to
> https://github.com/JuliaLang/julia/issues/6125 because the Filter code is
> older than the new way that Tasks are iterated.
>
>
> On Thu, Mar 20, 2014 at 11:45 AM, Stefan Karpinski 
> <[email protected]>wrote:
>
>> You're absolutely right – I'm testing a patch for this right now.
>> Fundamentally, this raises an issue that I've brought up before: filter is
>> poorly named because the name doesn't indicate whether you keep or drop the
>> items which the predicate matches. It would be much clearer if we had two
>> functions called select and reject which did filtering where you keep and
>> drop the things that match, respectively.
>>
>>
>> On Thu, Mar 20, 2014 at 3:23 AM, Miki Tebeka <[email protected]>wrote:
>>
>>> Greetings,
>>>
>>> I see a different behavior for filter on tasks and ranges.
>>>
>>>  If I do
>>>
>>> for n = filter(iseven, 1:10)
>>>     println(n)
>>> end
>>>
>>>
>>> I get 2,4,6,8
>>>
>>> However if I do
>>>
>>> function ints()
>>>     for i = 1:10
>>>         produce(i)
>>>     end
>>> end
>>>
>>>  for n = filter(iseven, @task ints())
>>>     println(n)
>>> end
>>>
>>>
>>> I get 3,5,7,9
>>>
>>> Why is that?
>>>
>>> (I noticed that if I change the code to collect(@task ints()) the code
>>> works as expected).
>>>
>>> Thanks,
>>> --
>>> Miki
>>>
>>
>>
>

Reply via email to