[Python-Dev] Re: PEP 318: Decorators last before colon (original) (raw)

Michael Hudson mwh at python.net
Thu Apr 1 07:13:40 EST 2004


Neil Schemenauer <nas-python at python.ca> writes:

On Wed, Mar 31, 2004 at 03:04:18PM -0500, Bob Ippolito wrote:

On Mar 31, 2004, at 1:59 PM, Michel Pelletier wrote: >Please don't add any decorator syntax to Python, at least not yet. All >of the proposals I have seen so far are, to be blunt, and in my opinion >of course, ugly and are getting uglier as the discussion ensues. I agree with Michel. The decorator syntax being discussed looks ugly. I think it would be okay if the set of valid decorations were limited to 'classmethod', 'staticmethod' and maybe a few others. Allowing more general expressions seems to asking for abuse.

I humbly submit that that's a terrible idea: it knackers Bob's PyObjC example, for one thing.

Decorators solve a huge problem with the current syntax:

def someObjectiveCSelectoryesTheyCanBeThisLongsometimesLonger(takes, some, args, here): pass someObjectiveCSelectoryesTheyCanBeThisLongsometimesLonger = objc.selector(someObjectiveCSelectoryesTheyCanBeThisLongsometimesLonge r, signature='some type signature') I would be happer if there was an easier way for you to do what you want without introducing new syntax to that language. For example, what if '' was bound to the last defined function? You could then do something like this: def someObjectiveCSelectoritsReallyLong(takes, some, args, here): pass objc.selector(, signature='some type signature') That looks pretty nice and is even shorter to type than the proposed syntax.

And doesn't work. Oh well!

Please understand that just because you haven't need them yet doesn't make them worthless, ugly, etc. I don't think Michel is saying they are worthless. However, the proposed syntax is highly contentious. It would be good if there was a short term solution that wouldn't require new syntax. That would give Guido and the Python community time to figure out the best syntax.

We've been discussing this off and on for OVER A YEAR! If 'the best syntax' hasn't been figured out yet after N thousand emails on the subject, I see no reason to believe enlightenment is going to arrive soon (or ever).

Cheers, mwh

-- If trees could scream, would we be so cavalier about cutting them down? We might, if they screamed all the time, for no good reason. -- Jack Handey



More information about the Python-Dev mailing list