On 30 March 2011 17:07, Eric Snow <ericsnowcurrently@gmail.com> wrote:
Yeah, I figured as much.  I am sure there is some convoluted way to make it work, but it would not nearly be worth it for what we would get out of it.


Well, it's still a *nice idea* even if it's impractical. For example to allow for deprecation warnings on module variables Twisted creates a subclass of modules (I believe), so that accessing the variable raises the appropriate warning.

In the standard library we are unable to apply deprecation warnings to module variables because we don't have a mechanism like this.

All the best,

Michael
 

-eric


On Tue, Mar 29, 2011 at 10:07 PM, Nick Coghlan <ncoghlan@gmail.com> wrote:
On Wed, Mar 30, 2011 at 3:59 AM, Eric Snow <ericsnowcurrently@gmail.com> wrote:
> Here's another outlandish idea.  How about if descriptors could be used
> outside of classes.  I.e. any global or local variable could be assigned a
> descriptor object and the descriptor protocol would be respected for that
> variable.  This would be a pretty messy change, and I have no illusions that
> the idea will go anywhere.  However, would there be room for this in python?

Not really, because globals() both promises to return a normal
dictionary and to respect changes to the module globals made via that
dictionary.

All bets are off with locals(), but the globals() aspect already
spikes the idea, as it does many other ideas to do with speeding or
otherwise enhancing namespace lookups.

Cheers,
Nick.

--
Nick Coghlan   |   ncoghlan@gmail.com   |   Brisbane, Australia


_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
http://mail.python.org/mailman/listinfo/python-ideas




--
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html