(original) (raw)

On Sat, May 25, 2019, 07:38 Guido van Rossum <guido@python.org> wrote:
This looks great.

I only have two nits with the text.

First, why is the snapshot called a "dynamic snapshot"? What exactly is dynamic about it?

It's dynamic in that it can spontaneously change when certain other events happen. For example, imagine this code runs at function scope:

# take a snapshot
a = locals()

# it's a snapshot, so it doesn't include the new variable
assert "a" not in a

# take another snapshot
b = locals()

# now our first "snapshot" has changed
assert "a" in a

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).

-n