A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2002-March/020918.html below:

[Python-Dev] Boolean transition

[Python-Dev] Boolean transitionSamuele Pedroni pedroni@inf.ethz.ch
Mon, 11 Mar 2002 03:09:22 +0100
From: Paul Prescod <paul@prescod.net>
> Guido van Rossum wrote:
> >  So the constraint under which we're
> > operating is that bool values must be ints.  This constraint has only
> > two possible solutions: (a) continue to use int as the type of choice
> > for bool results, and define builtins False = 0 and True = 1; or (b)
> > make bool a subtype of int.
> 
> Agree 100%. The question is whether five years or ten years or twenty
> years from now booleans will still be a subtype of integers. We have
> deprecation techniques that allow us to start a transition to a world
> where logic and integer arithmetic are completely separate.
> 
> > I do not want to say that in the future only bool is acceptable in a
> > Boolean context; it would remove too many of my favorite ways of
> > expression things clearly with few words. 
> 
> I agree with this too. The question is whether Python 3000 will still
> allow this without error:
> 
> def foo(int_size, b_metric_unit):
>   if b_metric_unit:
> return int_size * 10
> 
> foo(false, 10)
> 

But as long as in Python 3000:
if 0: ...  and if 1: ... work
then someone can still hang himself calling it so:

foo(0,10)

Maybe it is just FUD, but the question
whether people will adopt the change
and apply it to old code is central.
That means it *should* be asked, then
you can answer FUD, but just then.

Personally I would write such a function as:

def foo(size,is_metric):
    if is_metric:
      return  size*10
    else:
     ...

and if I fear to mess up with order I would
call it with:

foo(10,is_metric=False)
or foo(10,is_metric=0)

If you're really serious about argument order
then you need static typing and that does not save
you always either.

regards, Samuele Pedroni.












RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4