Thanks Stefan.

On Thursday, March 20, 2014 6:54:02 PM UTC+2, Stefan Karpinski wrote:
>
> Issue created https://github.com/JuliaLang/julia/issues/6224.
>
>
> On Thu, Mar 20, 2014 at 12:17 PM, Stefan Karpinski 
> <[email protected]<javascript:>
> > 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]<javascript:>
>> > 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]<javascript:>
>>> > 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