On Wed, 06 Feb 2008 23:59:27 +0100, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: >[EMAIL PROTECTED] schrieb: >> def run3( block ): >> for _ in range( 3 ): >> block() >> >> run3(): >> normal_suite() >> >> Introduces new syntax; arbitrary functions can follow 'colon'. >> >> Maintains readability, meaning is consistent. >> >> Equivalent to: >> >> def run3( block ): >> for _ in range( 3 ): >> block() >> >> @run3 >> def anonfunc(): >> normal_suite() >> >> Simplification in cases in which decorators are use often. > >This is non-sensical - how do you invoke anonfunc? They would all bind >to the same name, run3. Or to no name as all, as your "spec" lacks that.
As he said, the decorator version is the _equivalent_ to the syntax he was proposing. The point isn't to decorate the function, so perhaps he shouldn't have used decorator syntax, but instead: def anonfunc(): normal_suite() run3(anonfunc) del anonfunc So it's not non-sensical. It's a request for a piece of syntax. > >Besides, it's butt-ugly IMHO. But taste comes after proper definition... It's properly defined. Not that I'm endorsing this or anything. I'd rather not see half-assed syntax proposals at all, even if they're super great (and some of the syntax that's made it into Python is much worse than this). Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list