Moshe Zadka wrote: > > On Wed, 1 Nov 2000, Guido van Rossum wrote: > > > [MAL] > > > Dynamic nested scopes is another topic... those are *very* > > > useful; especially when it comes to avoiding global variables > > > and implementing programs which work using control objects > > > instead of global function calls. > > > > Marc-Andre, what are Dynamic nested scopes? > > If MAL means dynamic scoping (which I understood he does), then this > simply means: > > when looking for a variable "foo", you first search for it in the local > namespace. If not there, the *caller's* namespace, and so on. In the > end, the caller is the __main__ module, and if not found there, it is > a NameError. That would be one application, yes. With dynamic scoping I meant that the context of a lookup is defined at run-time and by explicitely or implicitely hooking together objects which then define the nesting. Environment acquisition is an example of such dynamic scoping: attribute lookups are passed on to the outer scope in case they don't resolve on the inner scope, e.g. say you have object a with a.x = 1; all other objects don't define .x. Then a.b.c.d.x will result in lookups 1. a.b.c.d.x 2. a.b.c.x 3. a.b.x 4. a.x -> 1 This example uses attribute lookup -- the same can be done for other nested objects by explicitely specifying the nesting relationship. Jim's ExtensionClasses allow the above by using a lot of wrappers around objects -- would be nice if we could come up with a more general scheme which then also works for explicit nesting relationships (e.g. dictionaries which get hooked together -- Jim's MultiMapping does this). -- Marc-Andre Lemburg ______________________________________________________________________ Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4