At 12:29 PM 8/21/04 -0400, Paul Morrow wrote: >[I posted this on comp.lang.python.general but I'm not sure how many of >the folks here read that newsgroup, so my apologies if you're seeing this >twice.] > >Thinking about decorators, and looking at what we are already doing in our >Python code, it seems that __metaclass__, __author__, __version__, etc. >are all examples of decorators. So we already have a decorator syntax. The items you describe are not decorators, they are attributes. The current syntax for decorators is 'x = decorator(x)'. > def baz(self, a, b): > """ This describes the baz method. """ > __synchronized__ = True > __returns__ = None > __author__ = 'Neville Shunt' > # body of baz goes here... This syntax already has a different and conflicting meaning in today's Python. A different such syntax: [synchronized(), returns(None), author("Neville Shunt")] def baz(self, a, b): """ This describes the baz method. """ # body of baz goes here... has already been rejected on the basis that this too has meaning in today's Python, and that the syntax produces "spooky action at a distance". That is, it's "magical" that the function calls affect the definition below. Following this logic, expecting assignments to magic names contained within a function's body to magically invoke decorator functions with different names *before and outside the block* where those names are assigned to in the code, seems far less likely to be considered acceptable.
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