[Python-ideas] Non-boolean return from __contains__

Guido van Rossum guido at python.org
Tue Jul 27 16:02:27 CEST 2010


On Mon, Jul 26, 2010 at 11:33 PM, Greg Ewing
<greg.ewing at canterbury.ac.nz> wrote:
> Guido van Rossum wrote:
>>
>> The other odd ducks are 'and' and 'or',
>
> Well, I tried to do something about that with the Overloaded
> Boolean Operators proposal, but it seems to have met with
> a not-very-enthusiastic response.
>
> Have you had any more thoughts about it? Do you think it's
> a problem worth solving, or are '&' and '|' good enough?
> Or would you rather see some completely different mechanism
> introduced for getting parse trees from expressions, a la
> LINQ?

I think that the approach of overloading tons of operators will always
cause a somewhat cramped style, even if we fix some individual
operators. There just are too many things that can go wrong, and they
will be hard to debug for the *users* of the libraries that provide
this stuff. (One reason is that the easy generalization from 1-2
simple examples often fails for non-obvious reasons.)

Therefore I think the LINQ approach, which (IIUC) converts an
expression into a parse tree when certain syntax is encountered, and
calls a built-in method with that parse tree, would be a fresh breath
of air. No need deriding it just because Microsoft came up with it
first.

-- 
--Guido van Rossum (python.org/~guido)



More information about the Python-ideas mailing list