[Guido van Rossum] >>> Actually I was attempting to find a solution not just for >>> properties but for other situations as well. E.g. someone might >>> want to define capabilities, or event handlers, or ... [Greg Ewing] >> But anyway, here's another idea: >> >> def foo as property: >> def __get__(self): >> ... >> def __set__(self, x): >> ... [Guido van Rossum] > I don't like things that reuse 'def', unless the existing 'def' > is a special case and not just an alternative branch in the grammar. I think Greg's idea ("as" or "is") could satisfy these conditions well (generic solution, and unadorned "def" as special case). A standard function definition (simple, unadorned "def") is equivalent to: def f as function: suite A standard method definition is as above, or if a distinction is required or useful it could be equivalent to: def m(self) as method: suite This syntax could be used to remove a recent wart, making generators explicit: def g as generator: suite Of course, it would be a syntax error if the generator suite didn't contain a "yield" statement. This syntax has aesthetic appeal. I know nothing about its implementability. What namespace these new modifier terms would live in, I also don't know. The syntax proposal reads well and seems like it could be a good general-purpose solution. +1 -- David Goodger http://starship.python.net/~goodger Programmer/sysadmin for hire: http://starship.python.net/~goodger/cv
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