Nested Mapping
Raymond Hettinger
raymond.activestate at gmail.com
Fri Oct 22 17:26:04 EDT 2010
On Oct 22, 8:48 am, Robert Kern <robert.k... at gmail.com> wrote:
> On 10/21/10 6:19 PM, Raymond Hettinger wrote:
>
> > I would appreciate any feedback on the API and on how well it fits
> > with various use cases that you've found in the wild.
>
> We've done something similar in the past:
>
> https://svn.enthought.com/svn/enthought/CodeTools/trunk/enthought/con...
Right. This looks substantially similar.
The shortened url is: http://tinyurl.com/3xh377k
> I'm not sure we'd have much use for a batteries-included collections.Context,
> per se, since we needed the other features of our Context implementation like
> notification and restriction. In particular, we were using our MultiContext with
> subcontext mapping objects that could restrict the types of values that were
> contained in them. We wanted to execute code in a MultiContext and be able to
> separate functions and classes that were defined or imported from other
> variables for display.
That's an interesting additional layer of sophistication.
One part that make be applicable to the current recipe
is individual marking individual context as "allow"
to enable __setitem__ for that level. My approach
was to mark the child context as being able to mutate
any of its parents.
> As for the API, I would probably want to be able to create a Context simply
> given a list of existing maps rather than needing to build a chain of them using
> .new_child(). Most of the use cases I can imagine are ones where I already have
> populated dictionaries, and I just want to slap this behavior on top of them.
That makes sense. I should modify the constructor to allow a
succession of existing dicts.
> Other than that, it looks good.
Thanks for reviewing the recipe.
Raymond
More information about the Python-list
mailing list