[Python-Dev] Integer division transition

Guido van Rossum guido@python.org
Mon, 06 Nov 2000 12:17:22 -0500

> [Guido]:
> > David Scherer proposed to spell this pragma as a "magical import"
> > (http://www.python.org/pipermail/idle-dev/2000-April/000138.html). 

[Peter Funk]
> Huh?  AFAIR David Scherer and Bruce Sherwood used the 'global'-statement 
> at module level as a backward compatible method to introduce module level
> pragmas.  (http://www.python.org/pipermail/idle-dev/2000-April/000140.html)
> I still like David Scherers proposal very much.

Oops, you're right.  That URL mentions "global olddivision".  The
"import floatdivision" proposal came from a more recent private mail
from Bruce Sherwood.  I maintain that neither seems the right way to
spell "directive".  I think "import" is slightly better if the import
is supposed to enable a feature that is not supported by previous
versions, because the import will cause a clear failure on systems
that don't have the new feature (rather than silently giving wrong
results sometimes).

> BTW:  I think the "symbol" '//' is incredible ugly and starting with
> IBMs JCL years ago all languages I encountered, that used this symbol
> for something, did suck in some way or another.  I would appreaciate
> very much, if it could be avoided alltogether to add a symbol '//'
> to Python.  '//' will look like a comment delimiter to most people today.

Good point.  I've just used // as a placeholder for a new way to spell
integer division.

> Using a new keyword like 'div' in the tradition of languages like 
> Modula-2 looks far more attractive to me.

That's a possibility too.  It's a new keyword though, which has a much
higher threshold for acceptance than a new two-character operator
symbol.  We could spell it as a built-in function: div(a, b),
(analogous to divmod(a, b)) but that's not very user-friendly either.

Keep looking...

--Guido van Rossum (home page: http://www.python.org/~guido/)