On 13 Jan 2007, at 12.05, Greg Falcon wrote: > On 1/13/07, Adam Atlas <[EMAIL PROTECTED]> wrote: >> [lambda ideas snipped] >> >> Any thoughts on either of these? > > Replying privately instead of on the mailing list, because I'm not > trying to call you out in public or anything like that. > > But Guido wrote a great essay that covers what you're suggesting: > http://www.artima.com/weblogs/viewpost.jsp?thread=147358 > > Also you should take a look at PEP 3099 before suggesting features for > Python 3000. > > Greg F
(Replying on the mailing list because being called out in public is fine with me. Especially by the guy who made "Irrational Exuberance" and "Dash". :P) Okay, I definitely understand Guido's point about switching to paying attention to indentation within an expression. I guess that could get very ugly. My suggestion for (a, b: a+b) syntax still stands; it seems unambiguous enough that we can simply drop the "lambda" keyword and the parentheses around the arglist, bringing a syntax that's not fundamentally very different from the current one, but quicker to write and visually more elegant and simple. As for allowing statements in lambdas, how about this -- the part after the colon can simply be a series of statements (separated by ;, not multiline). If so, the function is constructed from those statements, and it's expected to have a 'return' instead of just having the last statement be an expression. If, rather, the part after the colon is one expression, then it acts like it does now. It's minimally obtrusive; it doesn't really use any syntax that doesn't already exist, it just allows it in a different context. (Again, apologies if I'm beating a dead horse, or a Dead Parrot as the case may be, but these ideas don't seem too far-out to me; I could even try implementing this as a patch for the current Py3K codebase myself, probably.) _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
