On Sep 20, 8:06Â pm, Christian Heimes <[EMAIL PROTECTED]> wrote: > Kay Schluehr wrote: > > Actually it is simply wrong in the mentioned case and here is the > > proof: > > > def foo(): > > Â Â return 2+2 > > > import dis > > dis.dis(foo) > > > Â 2 Â Â Â Â Â 0 LOAD_CONST Â Â Â Â Â Â Â 2 (4) > > Â Â Â Â Â Â Â 3 RETURN_VALUE > > > OO is a heuristic method used to understand the semantics of a > > programming language. It can also inspire language design but as > > you've rightly said: jugde yourself and see how far you get with it. > > It's not wrong.
The meaning of the Python program is, internally, on a cycle-by-cycle basis, "Object 2; send add( Object 2 ) to Object 2; Return object 4." CPython doesn't do this, but due to the fact that there are no cases in which that distinction affects the output, it's still an implementation of Python. Or at least, a practical implementation. > You have found a simple optimization. Lot's of compilers > for lots of languages optimize code by code folding. > > Python's peephole optimizer replaces code like 2+2 with 4. > > Christian -- http://mail.python.org/mailman/listinfo/python-list