
Aug. 3, 2004
5:28 a.m.
On Aug 2, 2004, at 12:54 PM, Raymond Hettinger wrote:
The only real necessary restriction on the @ operator is that its argument be callable and take a single argument. Many expressions could return a callable object. Why not let them? Is it really worth having a special case just to SyntaxError expressions that sometimes won't result in an appropriate callable?
Things someone might want to do, ordered roughly from most reasonable to least reasonable ;) @foo().bar() @foo or bar @mydecorators['foo'] @lambda f: foo(f) or bar(f)
Why disallow these forms? It seems quite difficult, especially, to explain why the first one does not, or should not, work.
James
For what it's worth, I agree with James completely.
Jp
I concur.
Raymond
Ditto. -bob