[Python-Dev] Re: Plea for function/method syntax sugar (PEP 318, with a different syntax)

Phillip J. Eby pje at telecommunity.com
Thu Feb 19 13:55:04 EST 2004


At 05:06 PM 2/19/04 +0000, Michael Hudson wrote:
>Bob Ippolito <bob at redivi.com> writes:
>
> > Also note that the patch also adds the same sugar to classes, so you
> > could use it in lieu of metaclasses for some cases (like transforming
> > some members that follow a naming convention into properties):
> >
> >  >>> class Foo(object) [type]:
> > ...   pass
> > ...
> >  >>> Foo
> > <type 'type'>
>
>FWIW, I'm rather less convinced this is useful.

class Foo(object) [instancesProvide(IFoo)]:
     ...

is actually somewhat more useful.  Right now, the packages that do this 
sort of thing (Zope and PyProtocols) use a pseudometaclass in order to 
spell it more like this:

class Foo(object):
     protocols.advise(instancesProvide=[IFoo])

Being able to spell it the other way would allow a less "magical" 
implementation for various types of class metadata.





More information about the Python-Dev mailing list