[Python-Dev] Re: "groupby" iterator
Samuele Pedroni
pedronis at bluewin.ch
Wed Dec 3 14:14:57 EST 2003
At 07:00 03.12.2003 -0800, Guido van Rossum wrote:
> > The old lambda would have to be kept around for a while for programs
> > relying on the old semantics, but it could be deprecated, and
> > removed in 3.0.
>
>I'm not sure that the -> notation is more understandable than lambda;
>it would surely confuse C/C++ programmers who are new to Python.
>
>Scary thought: how about simply introducing early-binding semantics
>for lambda in 3.0?
that would confuse schemers <wink>
>Another radical idea would be to use an anonymous-block notation like
>Smalltalk and Ruby. We could use some kind of funky brackets like
>[|...|]. A lambda would require an argument notation too. I believe
>Ruby uses [|x| x+1] where we would write lambda x: x+1, maybe we could
>use [|x: x+1|]. (I like structure with an explicit close more than
>open ones like lambda.)
I would expect blocks to be blocks, accepting also statements and sharing
the scope
with the surrounding code, not having early-binding semantics.
Honestly, given the introduction of generator exprs, a substitute
expression for lambda
with early-binding semantics makes sense. Personally I can see it also as
meaningful wrt the statemenent/expression dichotomy in python, and we
would have early-binding as a general rule for "expressions".
But again I think that a block-like syntax should be used, if at all, for
real blocks.
regards.
More information about the Python-Dev
mailing list