|
Authored by: Anonymous on Tuesday, May 15 2012 @ 11:24 AM EDT |
You're still confusing terms by using sloppy language. It seems you don't get
the key point that the only two intrinsic properties of symbols in CompSci are
the following:
(i) Possessing a unique name, mark, visible representation, or other property
that can be used to make one symbol distinct from another; and
(ii) Not possessing a value inherent in, or decodable from, the name, mark,
visible representation, or other distinctive property. (If it does possess such
an inherent value then it's also OK to formally disregard it by diktat, or use
it purely to guarantee symbolic uniqueness but not as the value of the symbol.)
Because of (ii), symbols have no a priori value and must be bound to or assigned
a value. When this is done dynamically, the process is called symbolic
resolution.
Because of (i), the symbolic resolution can be done unambiguously since symbols
are always considered distinct even when they resolve to the same values.
If property (ii) were not present then you would not be looking at a symbol, but
at a value. If I give you the binary numeric RAM address 01101001 then that's a
value that can be used as a numeric reference into a location in the RAM. If I
give you the ASCII string "01101001" then you will look at it oddly
for a few seconds but you may well conclude that it's a string-encoded binary
address anyway using the expected ASCII collating sequence where '0' -> 0 and
'1' -> 1. Indeed a computer program could do this decoding too, fully
deterministically. No symbol resolution would be needed --- decoding a value
from a datum is not symbol resolution because the value is inherent in the
datum.
But if I give you "ST01101001" then now you would be totally lost.
You can't decode any intrinsic value from this string, so the only rational use
for it is as a symbol. But, as is the case for all symbols, you can't determine
its value without performing symbol resolution, because the correspondence
between symbols and their values can only be done with the help of an external
agency.
So now let's go back to the simple {0,1} example, let's say this is a state
space within which we want to select points (or a RAM of 2 cells, that'll do
just as well). If I give you a '0' then it can only map to one of the points in
the state space, not to either, so it's clearly a numeric reference and not a
symbolic one. In contrast, if I give you "X" then it has no intrinsic
meaning in terms of this state space and hence can't be a used as a numeric
reference. It can only be used a symbol, and you'd have to perform symbol
resolution to determine its 0 or 1 value.
It's really simple. Numbers and symbols are poles apart, as are numeric and
symbolic resolution, so the only way people can confuse them is by using sloppy
language more appropriate to philosophers than computer scientists and hence
calling everything a symbol, because, ya know, that's cool.
Well CompSci is more precise with its terms than that kind of hand waving.[ Reply to This | Parent | # ]
|
|
|
|
|