About the implementation of del in Python 3
Chris Angelico <rosuav at gmail.com>:
> The formal definition is that objects have identities, and that
> assignment (including function parameters and return values) gives you
> a reference to the same object.
My example didn't contain a single assignment, but a variation of your
statement would make a good part in a definition of identity.
> "A person just walked into the revolving door and came back out
> again." "Is it the same person?" "I don't know. What's the definition
> of identity?"
> Of course it's the same person. You don't need to identify that person
> by a social security number in order to say "the SAME PERSON came back
> out". You identify him/her by... identity.
Here's how identity is dealt with in First-Order Logic:
In other words, identity is mapped to the "sameness" in a domain of
In Second-Order Logic, you can define identity directly:
?x ?y x = y ? ?P (P(x) ? P(y))
Programming languages are different beasts, of course, but "objects" and
"identity" are such important foundational topics that you'd expect a
bit more than hand-waving when defining the data model.
As a good example of the style I'm looking for, take a look at: