
On Mon, Jul 26, 2010 at 11:33 PM, Greg Ewing <greg.ewing@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)