[Python-Dev] shouldn't we be considering all pending numeric
Wed, 25 Jul 2001 11:42:06 +0200
Tim Peters wrote:
> > May I suggest that these rather controversial changes be carried
> > out on a separate branch of the Python source tree before adding
> > them to the trunk ?!
> Sure, provided you're volunteering to keep the branch in synch with the
> trunk: branches are both expensive and risky, unless the intent is never to
> merge in either direction.
As you may have guessed: I'm not particulary interested in any
change to the status quo w/r to Python's treatment of integer
division, since I know that I have used the current C-like
behaviour in code I've written in the past few years and that
finding this code will be a nightmare.
PEP 238 doesn't help with this either since it still changes
the semantics of '/' instead of keeping them and adding the
new semantics using a new operator '//' which wouldn't break
anything and still make people happy.
Also, I think that the warning framework will not help much for
moving to PEP 238: if you generate a warning for every source
code occurrance of '/' where integer division takes place, this
will render at least some programs unusable: either due to the
slow-down of having to branch through the warning machinery only
to find that the user doesn't want to see the warning or by
producing stderr messages in quantities which will keep any user
out there from using the program.
OTOH, I wouldn't mind if we add a per-module directive which then
tells the compiler to generate new style semantics integer
division opcodes. Guido's patch already implements this, except
that it uses the magic __future__ import which will be phased
out eventually... how about a "from __semantics__ import
non_integer_division" which does not have a timeout attached
to it ?!
> Much as I hate the obfuscating effects of #ifdefs, these changes are
> localized enough that it would be a clear net win to use them rather than
> branches, if Guido gets weary of maintaining a patch.
If that's feasable, sure...
CEO eGenix.com Software GmbH
Consulting & Company: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/