"Kay Schluehr" <[EMAIL PROTECTED]> wrote: > To make my intention clear for another time, also for George who > mistrusts these exercises alltogether. I want to derive a syntax and > semantics for anonymus functions ( called "tuple-actions" ) that are > generalizations of rules that are already used implicitely within > Python e.g. tuple-unpacking. This is done by progressive interpretation > and extension. They are not there by means of an accident, what Guido > claims about the current lambda which he feels to be sticked onto the > language. > > Regards, > Kay
I'd be glad to see a well-formulated view of the proposed tuple actions, provided I (and suspect others) can get through the syntax burden first. Expressions such as "While((i)->(0), (i)->i<3, (i)->(i+1), (res)->(res+i**2))" do not remind me the python I know and love. Alternatively, if it's not easy to come up with a grokable syntax, I would still be ok with it if it remained "under the hood" for the most part, like other obscure features such as metaclasses and descriptors; for instance I wouldn't mind at all if the traditional control flow primitives were implemented as functions using your idea, as long as I didn't have to know the details (and as long as other things, e.g. execution speed, were the same). As for the forthcoming - as it seems - deprecation or removal of lambdas, I'm in the minority that thinks it's a step in the wrong direction. The way they ended up in the language may be a historic accident, but I would favor a solution that improved them instead of removing them. The notion of 'anonymous functions' alone reveals a misconception in my opinion: that functions *have to* have a name to be 'normal'. Still, a name is just a binding to an object that exists independently of the name. We don't find 'anonymous strings', tuples, lists, etc. bad, so why should functions be different ? In this respect, functions are not 100% first class objects. Instead of removing lambdas, I would prefer to see them upgraded, perhaps with a new syntax, accepting more than one expressions and statements instead of a single expression. Sure, one can define named functions locally to avoid polluting the global scope, but why should he ? Just imagine how would python look like with a similar rule for other primitive types. Anyway, I guess I can live without lambdas but I'll miss them. George -- http://mail.python.org/mailman/listinfo/python-list