[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