A short terminological "detour":

>Hi Volker,
>
>On Thursday, April 14, 2005, 1:12:08 PM, you wrote:
>
>VN> i guess you made a typo and now we have a misunderstanding.
>
>Well, no.
>
>But, that is an implementation detail.
>
>The  position  in series is kept in the value. So, S and B/1, from
>the  point  of  view  of  implementation,  are  two  distinct  but
>identical  values.
>
This deserves one more comment I think. My POV is:

*Value sameness doesn't depend on implementation at all.*

Proof:

For every mathematician (and some other people too, I hope) knows, that 
there is only one number one (1). It doesn't matter, that a computer 
language implementor chooses (practical reasons) to "store" the value at 
different "positions" in the computer memory. Everybody knows, that all 
1's are actually just one (mathematical) 1.

Although you surely could say, that the "1's" "stored at distinct places 
in the memory" are "distinct but identical", such a sentence doesn't 
have much sense, regardless of the implementation, because you are 
"coupling" the number with something, that is not a property of the 
number at all - the place in the computer memory where the number "resides".

>  Of  course,  Ladislav  is right in saying that
>because  you cannot discern them, they are the same. However, they
>are  not  in the current implementation,
>
This is the point showing an "implementation-dependent" look at identity.
...

>To  conclude, I agree with Ladislav that [1 1] may be considered a
>series  containing  the  same  value  twice,  and I agree that the
>position  in the series is not an attribute of the value. However,
>we  know  that  in  the current REBOL implementation a block is an
>array  of value slots and an integer fits one value slot, so [1 1]
>is  two value slots with two values (which are identical). I agree
>that this is an implementation detail and that it is irrelevant.
>
>Regards,
>   Gabriele.
>  
>
Conclusion:

The main difference, as Gabriele pointed out, is terminological.

An implementation-independent terminology is less confusing. (Does not 
"force" us to use notions like "distinct but identical").

The only "disadvantage" of it is, that it doesn't try to "directly" 
describe the implementation, although there aren't any real obstacles to 
use it when describing the implementation and say, that "one value 1 is 
stored at two places in the computer memory".

Some may feel a "lack" when speaking about modifications like:

(implementaion-dependent terminology): I had two "distinct" 1's in the 
computer memory. I changed the first one to 2. Now I have got one 1 and 
one 2 in the computer memory.

(implementation-independent terminology): I had number 1 "stored" (I can 
use a notion "referenced by" or "referred to" if I prefer) at two places 
in the computer memory. I changed the first memory place (Not number 1, 
nobody is actually able to change number 1!) to "contain" number 2 
instead. Now I have got number 1 "stored" at one place in the computer 
memory and number 2 "stored" at another place in the memory.

-Ladislav
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to