问题
I am self learning some parts of Essentials of Programming Languages. Essentials of Programming Languages defines that
the expressed values are the possible values of expressions, and the denoted values are the values bound to variables.
and
We model memory as a finite map from locations to a set of values called the storable values. For historical reasons, we call this the store.
The storable values in a language are typically, but not always, the same as the expressed values of the language. This choice is part of the design of a language
Are the denoted values and the storable values the same? My intuition thinks yes.
Is a storable value a denoted value?
I guess yes, because a storable value (or an expressed value, which I am not sure about and have asked here) can be a r-value i.e. can be assigned to a variable.
Or is there some example where a storable value is not a denoted value?
Is a denotable value a storable value?
I guess yes, because a denoted value, say denoted by a variable, must be stored in a location allocated to the variable.
Or is there an example where a denoted value is not a storable value? For example, in the implicit reference design, a reference is a denoted value and not a expressed value. If the expressed values and the storable values are the same, a reference is not a storable value, and is a reference in the implicit reference design an example where a denoted value is not a storable value?
来源:https://stackoverflow.com/questions/57468823/are-the-denoted-values-and-the-storable-values-the-same