On Thu, May 30, 2019 at 4:28 PM Greg Ewing <greg.ew...@canterbury.ac.nz> wrote:
> Nick Coghlan wrote: > > So for me, getting rid of write backs via exec and "import *" was a > > matter of "Yay, we finally closed those unfortunate loopholes" rather > > than being any kind of regrettable necessity. > > If that were the reasoning, the principled thing to do would be > to raise an exception if an eval or exec tries to write to a > local, rather than mostly ignore it. > > In any case, I don't really agree with that philosophy. Python > is at its essence a dynamic language. Things like JIT and static > type analysis are only possible to the extent that you refrain > from using some of its dynamic features. Removing features > entirely just because they *can* interfere with these things goes > against the spirit of the language, IMO. > Right. And static analysis should also be able to detect most uses of locals() in a frame. I believe I've heard of some alternate Python implementations that detect usage of some functions to disable some optimizations (IIRC IronPython did this to sys._getframe()). -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him/his **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com