On Wed, Jun 3, 2015 at 3:16 PM, Stefan Karpinski
<[email protected]> wrote:
> You could use a task, but the performance would be much less good than 
> explicitly manipulating the iteration state for many things.
>

Manually iterating is not that bad so I think I would prefer a
solution that yield similar performance.

Actually, can(/is it reasonable to make) type inference inline the
type as well if all use of it are inlined?

>
>> On Jun 2, 2015, at 6:45 PM, Yichao Yu <[email protected]> wrote:
>>
>> I'm wondering what is the best way to do the equivalant with the
>> following in python.
>>
>> ```
>> In [1]: a = range(20)
>>
>> In [2]: it = iter(a)
>>
>> In [3]: for i in it:
>>   if i == 10:
>>       break
>>  ...:
>>
>> In [4]: for i in it:
>>  ...:     print(i)
>>  ...:
>> 11
>> 12
>> 13
>> 14
>> 15
>> 16
>> 17
>> 18
>> 19
>> ```
>>
>> I know that I can call `start`, `next` and `done` manually but it
>> would be nice if I can avoid that.
>>
>> I could also wrap the returned value of next in a type but I don't
>> know how to make it both generic and fast, e.g. I want the typeinf to
>> infer the type as easy as if I call the `start`.... methods manually
>> and I don't want to rely on `next` being type stable (and AFAICT, the
>> `next` for Any array is not).
>>
>>
>> The exact format doesn't have to be the same with the python version
>> but I do want to use `for` loop instead of `while`.

Reply via email to