On Fri, Aug 13, 2004 at 02:51:37PM -0500, Skip Montanaro wrote: > > I understand that not everyone will like every idea and that in this > particular arena it seems that no one idea is acceptable to everyone, but > can we return to my proposal and discuss its pros and cons? I didn't pick > the example out of thin air. I cast an existing example from c.l.py in this > form (thus the function name and somewhat unusual collection of decorator > names). The only thing I added besides the syntax change was to identify > where I thought the docstring should go. > > def p_statement_expr: > staticmethod > grammarrule('statement : expression') > version("Added in 2.4") > deprecatedmethod > type_(None) > decorate (self, p): > """docstring here""" > print p[1] > > I understand that it has obvious weaknesses as well: > > * It separates the function name from its parameter list. That does > allow us to aboid parsing ambiguities though. This is huge, it would mean two ways to do it. When I want to decorate the function with '@' I add an extra line above the existing definition. With this suggestion I have to pick the line apart and shuffle stuff around. Guido has said being able to add/remove a decorator should be as simple as cut/pasting a line and I agree. > * It can't readily be extended to class definitions, though the demand > for that seems minor and mostly argued for symmetry reasons. Class decorators are pretty important to me. I would replace most of my meta class usages with decorators. I care enough I spent two days writing a patch and fishing through the bowels of compile.c (*plug plug*). * It uses a suite in a way different from all other suites. A group of points * it breaks grepability badly * it breaks existing tools by radically changing the grammar * breaking machine tools also means breaking meat tools. I now have to fit two ways of recognizing functions in my head all the time. This is the showstopper of all showstoppers right there. -Jack
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4