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 >>>> >>> >>> >> >
