<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 25, 2019, 07:38 Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>This looks great.</div><div><br></div><div>I only have two nits with the text.<br></div><div><br></div><div>First, why is the snapshot called a "dynamic snapshot"? What exactly is dynamic about it?</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It's dynamic in that it can spontaneously change when certain other events happen. For example, imagine this code runs at function scope:</div><div dir="auto"><br></div><div dir="auto"># take a snapshot</div><div dir="auto">a = locals()</div><div dir="auto"><br></div><div dir="auto"># it's a snapshot, so it doesn't include the new variable</div><div dir="auto">assert "a" not in a</div><div dir="auto"><br></div><div dir="auto"># take another snapshot</div><div dir="auto">b = locals()</div><div dir="auto"><br></div><div dir="auto"># now our first "snapshot" has changed</div><div dir="auto">assert "a" in a</div><div dir="auto"><br></div><div dir="auto">Overall I'm happy with the PEP, but I'm still a bit uneasy about whether we've gotten the details of this "dynamicity" exactly right, esp. since the PEP promotes them from implementation detail to language features. There are a lot of complicated tradeoffs so I'm working on a longer response that tries to lay out all the options and hopefully convince myself (and everyone else).</div><div dir="auto"><br></div><div dir="auto">-n</div></div>