2.2 features
Guido van Rossum
guido at zope.com
Wed Aug 1 13:37:56 EDT 2001
> Guido van Rossum wrote:
> >
> >....
> >
> > Sorry, this isn't worth adding new syntax. The 'in' thing worked
> > because a in b is already mapped to b.__contains__(a).
>
> First, you may be right that it isn't worth adding new syntax but it
> also isn't worth abusing existing syntax. Types are usually nouns that
> do NOT directly represent sets. "int" is different from "the set of
> ints" and "programmer" different from the "set of programmers".
Linguistically, yes. But mathematically, describing a type as a set
of values is often used (and it explains a subtype as a subset of a
type).
> Second, I think that this might be worth adding new syntax for one
> reason. The current syntax for exception-type trapping is extremely
> error prone and nasty and it is essentially the same problem. I could
> imagine:
>
> try:
> foo()
> except exc isa OverflowError, ZeroDivisionError:
> pass
I find 'isa' ugly (it's not an existing word and unless you're from a
very specific culture you won't recognize it). I agree that except
has this flaw, but I don't want to tie solving it to this discussion
(i.e. I don't want to talk about it in *this* thread).
> Nevertheless, I'd rather see the abuse of "in" removed even if it leaves
> the exception problem untouched.
Done.
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-list
mailing list