[Python-Dev] Re: PEP 318: Decorators last before colon

Phillip J. Eby pje at telecommunity.com
Wed Mar 31 22:32:20 EST 2004


At 07:39 PM 3/31/04 -0500, Neil Schemenauer wrote:
>On Wed, Mar 31, 2004 at 07:16:06PM -0500, Phillip J. Eby wrote:
> > [Binding _ to the last function definition] doesn't do what's
> > needed, since you left out the rebinding of the function name.
>
>That's possible without new syntax.  Some example code:
>
>[snip]
 >
>It's not pretty but it might prevent people from developing RSI
>while Guido works out what new syntax is best.

Actually, one use case for the syntax that isn't possible now, even with 
frame hacking like your example, is generic functions.  That is, I'd like 
to do something like:

def foo(bar,baz) [generic(int,int)]:
     # code to foo two integers

def foo(bar,baz) [generic(str,int)]:
     # code to foo a string and an integer

etc.  The idea here is that the object returned by 'generic()' looks to see 
if the existing definition of 'foo' is a generic function, and if so, adds 
the current function to the generic function's definition, and then returns 
the generic function.

This use case isn't possible with *any* syntax today, without renaming 
either the generic function or the individual functions, plus twice as many 
repetitions of the names.




More information about the Python-Dev mailing list