[python] cyklus for (bylo superman: zaporny systemovy cas)

superman feed na centrum.cz
Středa Listopad 29 12:50:44 CET 2006


> Pokud ta funkce nemá vedlejší efekt (což jsem zmínil)
> pak ji ani nemusím volat, abych mohl celou konstrukci
> vypustit. A můžu to udělat právě optimalizací v AST,
> tedy jakoby na úrovni přeparsovaného zdrojového 
> textu. Problém je, jak zjistit, že ta funkce nemá
> vedlejší efekt.
> 
> Iterátor není funkce. Je to objekt. A jeho metoda
> next() typicky nemá vedlejší efekt (pokud si ho
> tam někdo sám nenaprogramuje).

problém je to _typicky_. na tohle optimalizátor spoléhat nemůže

> Konstrukce cyklu je navržena především pro
> programátory, nikoliv pro jakýkoliv optimalizátor.

Jakýkoli programovací jazyk je už z principu navržen pro programátory.

> Z tohoto pohledu se ptám ještě jednou. Co to je
> "klasický cyklus"? Je jeho speciálnost pro programátora
> natolik důležitá, aby opodstatnila současnou 
> existenci konstrukcí for/foreach? A v jakých 
> jazycích se takový "klasický for" vlastně 
> používá?

Já tedy nevím, ale cyklus for, ne foreach se používá tak často, že na to 
stačí pouhá statistika.




Další informace o konferenci Python