I am a relative nobody in Python, however a few weeks ago, I suggested more 
harmonization with JavaScript. Admittedly I've been doing more JS lately, so I 
might have JS-colored glasses on, but it looks like you're trying to add 
lexical scoping to Python, and there's a whole lot of manual scope work going 
on. (This may be a result of showing what can be done, rather than what can 
typically be done). I am probably entirely mistaken, however when I saw the 
subject and started reading, I expected to see something like

    v = context.Var({'some': value, 'other': value}) # (wherein Var() would 
make deep copies of the values) why repeat `var` after context ? if Var is the 
only point of context module?

But that's not what I saw. I didn't immediately grasp that `value` and 
`description` (aka. `doc`) were special properties for an individual context 
var. This is likely an issue with me, or it could be documentation.

Then it went on to talk about using `with` for managing context. So it looks 
like the `with` is just providing a value stack (list) for the variable? Can 
this be done automatically with a _setattr_ and append()?

Having done a lot of HTML5 Canvas drawing 
(https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save)
 , this reminds me of `save()` and `restore()`, which would likely be more 
familiar to a larger audience. Additionally what about:

    with context.save() as derived_context: # or just `with context as 
derived_context:` calling save automatically
       # whatever
    # automatically call restore on __exit__.


I also wonder about using multiple context Vars/managers with `with`, as that 
statement would get quite long.

Finally, would it be possible to pass a dict and get membered object out? Using 
v from the example above, i.e.: v.value, v.other where gets/sets automatically 
use the most recent context?
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to