On Friday, March 26, 2004, at 10:10 AM, Guido van Rossum wrote: > (2) Invent some other notation for setting function attributes as part > of the function *body*, before the doc string even. > > For (2) I am thinking aloud here: > > def foobar(self, arg): > @author: "Guido van Rossum" > @deprecated > pass Ages ago I used to think there was some type of internationalization problem with '@', but I guess its use in Java, not to mention in URLs, belies that notion. Still, you might want to save that token for some future operator that can be used amongst other operators in an expression. (Also thinking out loud) How about def foobar (self, arg): :doc """This is my doc string.""" :author "Guido van Rossum" :deprecated pass Syntactically, I believe this could work, though you would only want it for funcdef and classdef and probably not in single-line suites. So (maybe): def_suite: simpe_stmt | NEWLINE INDENT decoration* stmt+ DEDENT decoration: ':' test NEWLINE The hand waving justification is that while a ':' at the end of a line or in the middle means "here comes the good stuff", at the beginning of the line it could mean "but first here is an aside". Robert Mollitor
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