[EMAIL PROTECTED] wrote:
>
> "Your colts have been faster, sheriff!" 8^)
>
? I think you've out-obscured me! ;-)
>
> {{
> Returns TRUE if the values are identical objects, not just in value. For
> example, a TRUE would be returned if two strings are the same string (occupy
> the same location in memory). Returns FALSE for all other values.
> }}
>
... and this is not very helpful unless we know what "identical
objects" are!
>
> One can find a very strange reformulation of the quoted text:
> {{
> Two values may not be the same even when they are identical in value.
> }}
>
Yet another case of a need for more precise terminology. In the
general case, two data structures that contain equivalent data
values can be considered "equal", but are not the "same" if there
is ANY characteristic that distinguishes them (such as where in
memory they are stored).
My current guess is that REBOL 'equal? means that two values have
equivalent content, but they are not the 'same?' if there is some
REBOL expression (or series of expressions) which can be used to
distinguish them.
That's why
>> a: "test"
== "test"
>> b: "test"
== "test"
>> c: a
== "test"
>> same? a b
== false
>> same? a c
== true
Since strings are mutable, two string references to the "physically
same" string (a and c) are totally equivalent, but two string
references to "separate but equal" strings (a and b) are not totally
equivalent.
>> append a "?"
== "test?"
>> a
== "test?"
>> b
== "test"
>> c
== "test?"
(I know this much is old material; I'm just rehearsing it for contrast
with what follows.)
>> a: now/time
== 7:20:02
>> b: make time! reduce [(8 - 1) (4 * 5) (1 + 1)]
== 7:20:02
>> c: a
== 7:20:02
>> same? a b
== true
>> same? a c
== true
>> a/minute: 55
== 7:55:02
>> a
== 7:20:02
Since I can't "reach into" a and modify its time! value (as I WAS
able to do with a string! value) there appears to be no way that
I can evaluate an expression using a's value to achieve
differences vs. either b or c, therefore a is 'same?' to both.
Of course, I'm not including setting a to a different value, but
operating ON the value referenced by a.
>
> This didn't help us to find, where is the difference between Human Values
> and Rebol Values.
>
Is there a difference between your "Human Values" concept and the
representation yielded by 'print? (Just want to make sure I'm
following your thinking correctly.)
-jn-