[Python-Dev] Property syntax (Re: [Python-Dev] Extended Function
syntax)
Guido van Rossum
guido@python.org
Fri, 31 Jan 2003 07:45:10 -0500
> Guido:
> > 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]
> I'm not sure what a capability is, exactly, so I don't
> know what would be required to provide one.
Me neither. :-) One person tried to convince me to change the
language to allow 'capclass' and 'capability' as keywords
(alternatives for 'class' and 'def'). In the end I convinced them
that 'rexec' is good enough (if the implementation weren't flawed by
security holes, all of which are theoretically fixable). I *still*
don't know what a capability is.
> Or how an event handler differs from a method, for that matter.
Probably by being hooked up to an event loop automatically.
> But anyway, here's another idea:
>
> def foo as property:
> def __get__(self):
> ...
> def __set__(self, x):
> ...
>
> which would be equivalent to
>
> foo = property(<dict-from-the-suite>)
>
> or perhaps
>
> foo = property(<thunk-doing-the-suite>)
>
> You might also want to allow for some arguments somewhere
> (not sure exactly where, though).
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.
--Guido van Rossum (home page: http://www.python.org/~guido/)