[Python-Dev] Re: A cute new way to get an infinite loop
Tim Peters
tim.peters at gmail.com
Fri Sep 24 06:14:56 CEST 2004
[Terry Reedy]
> Very similar to this old way (2.2 and I presume before):
Been there forever, yes.
> >>> l=[1]
> >>> for i in l: l.append(i)
> ...
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> KeyboardInterrupt
> >>> len(l)
> 1623613
>
> but admittedly a bit more baroque ;-)
>
> So, are things like this a programming bug, interpreter bug, or language
> definition bug? or just a 'gotcha'?
They're features, provoked into revealing their dark sides by pilot
error. It's not an accident that I posted my note right after
checking in a new test, in test_long.py, containing:
cases.extend([-x for x in cases])
I will not admit that it didn't always contain the square brackets.
And if I won't admit that, I *sure* won't admit that I initially
feared hairy new code for mixed float-vs-long comparison contained an
infinite loop <wink>.
never-getting-an-infinite-loop-is-a-symptom-of-not-trying-hard-enough-ly
y'rs - tim
More information about the Python-Dev
mailing list