Nick Coghlan <[EMAIL PROTECTED]> writes: > > Usage could be something like: > > >>> res = [ f(i) for i in objects ] where: > > >>> def f(x): > > >>> #do something > > Hmm, this is actually a really interesting idea. Avoiding accidental > namespace conflicts is certainly one of the advantages of using lambdas.
I like it too. Seems a little perl-ish, but what the hey. > In fact, any subexpressions in a complicated expression can be > extracted and named for clarity without fear of screwing up the > containing namespace, which would be an enormous boon for software > maintainers. Sure, why not: x = (-b + sqrt(discriminant))/(2*a) where: discriminant = b*b - 4*a*c Maybe you could just have a where: suite that binds variables within the suite: where: def f(x): #do something res = [ f(i) for i in objects ] where: discriminant = b*b - 4*a*c x = (-b + sqrt(discriminant))/(2*a) Syntax is where: suite statement the suite has its own scope so any variable created there is local to the suite plus the following statement. The scope vanishes after the statement. -- http://mail.python.org/mailman/listinfo/python-list