[Python-Dev] (Specific syntax of) PEP 318 - function/method/class decoration

Jewett, Jim J jim.jewett at eds.com
Mon Mar 8 13:21:19 EST 2004

Bob Ippolito:

> I would like to focus this thread to, specifically, if *this syntax* 
> should become part of Python. 

	def name(args)[something_else]:

-1.  With more explicit and extensible syntax, I would 
be +1, but with *this* syntax, I'm -1.

Why are you so insistent on the bare syntax?  The only
arguments I have seen are:

(1)  We already have it.  

The author himself said that the patch isn't final, and 
he can change the syntax.  Even some semantic changes 
(testlist vs exprlist) may be OK.

(2)  It is shorter to type.  

Adding "as" or "mods" is fairly small compared to the names 
of the wrappers themselves, even in your examples.

(3) New keywords are bad.  

Not as bad as overloading an old one with a new meaning.  

There has already been some confusion over how the elements 
of the "list" will be restricted -- confusion that hasn't 
been cleared up.  If it isn't a "normal" list, right from
the start, then this should be marked.

> Please, "import this" before you decide to -1 or -0.. specifically:

You forgot a few

Explicit is better than implicit.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although never is often better than *right* now.
Namespaces are one honking great idea -- let's do more of those!


More information about the Python-Dev mailing list