[Python-Dev] Re: @decorators, the PEP and the "options" out there?

"Martin v. Löwis" martin at v.loewis.de
Fri Aug 6 01:10:41 CEST 2004


Nicolas Fleury wrote:
>>> accepts(int,int,def)
>>> returns(float,def)
>>> def bar(low,high):
>>
>>
>> That doesn't work. If accepts and returns are callables
>> (as they should be), then this already means something
>> in current Python. So this would not be backwards
>> compatible.
> 
> 
> I'm sorry (I don't like that solution at all honestly), but what passing 
> "def" to a callable means in current Python?  It is not accepted by my 
> interactive shell...

Right, I missed that point. In PEP 318, you can't define a decorator
that takes a Python keyword as an argument (what would that mean, 
anyway), so you don't need to find syntax for that, either.

If you meant to suggest that the last parameter indicates that this is
not a function call but a decorator, then you just had your
demonstration that this doesn't work: people are not going to recognize
the keyword in that place, even if the compiler could be talked into
accepting it.

Regards,
Martin


More information about the Python-Dev mailing list