On 5/28/2019 4:29 PM, Yanghao Hua wrote:
To repeat what the problem do I think I am solving? A variable, that behaves like an integer (e.g. all normal integer ops should just work), but has a different assignment behavior, such that it can be used to develop equally good hardware descriptions.
This is the part that you're not explaining: what does "a different assignment behavior" mean? We all understand what Python means by assignment (name binding), but we don't understand what you would like it to be instead.
It seems that you want these two statements to work differently:
x = something() # bind a name for the first time
# ("create a variable", if you will)
x = 4 # do something different when x already exists
# and is of some special type
Is that true? What is the "something different"?
I've got to be honest with you: I don't see Python changing in this regard.