@decorator syntax is sugar, but for what exactly?
Avner Ben
avner at skilldesign.com
Mon Aug 9 13:25:48 EDT 2004
Mark Bottjer wrote:
> [snip]
> I, personally, don't like the idea of overloading def in this way. To
> me, 'def' defines something that looks and acts like a function, just
> like 'class' defines something that looks and acts like a class, or
> 'while' defines something which looks and acts like a loop. AProperty is
> does not act like a function, so using def would be misleading.
Properties do not look like functions but are implemented as functions.
there is no requirement that a variable must hide behind a property, or
that it Must allow both read and write access.
> [Ship]
> property a:
> def __init__( s, v):
> __set__( s, v)
Why property constructor?
> Taking this to the extreme, all existing statement types (class, def,
> print, del, etc.) could be recast as these generalized statements. We
> could even allow subclassing of existing statements to modify their
> behavior (for example, class_def subclassing def to make the new
> function a class method). Strong Kung-Fu indeed. Scary, but strong.
I recall reading somewhere That the Beta language allowed subclassing
anything
> Obviously, creating new control constructs is not something we'd want to
> do every day, as it can be a great way to obfuscate code beyond all hope
> of understanding--but the same is true of meta-classes. Just because it
> *could* be abused doesn't mean that it would be.
IMO creating New Control constructs is a great and Much needed idea.
Avner.
More information about the Python-list
mailing list