## [REBOL] Re: Rebol values (continuing the discusion)

### From: lmecir:mbox:vol:cz at: 18-Apr-2005 18:26

Gabriele Santilli napsal(a):>I'd just point out that you are still referring to the numbers, >not their representation. So, as long as only one "1" exists, >there still can be many representation of that one "1". >Yes.> REBOL >integers are not numbers, but representation of numbers. >The same could have been said in mathematics too as my previous post was pointing out - see e.g. pairs of integers as models of rationals. It is quite hard to "invent" a representation of rational number not having the "ambiguity" property, because e.g. 1 / 3 can be represented as 2 / 6, 3 / 9 etc. IOW, when we have got a representation, it is time to "forget" about it and to try to describe the properties that do *not* depend on the representation. Some properties become "accessible" if we "forget" the details. (It is not obvious why this is true.) One case illustrating failure to do so in Rebol is the sentence: ...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)..." This is plain wrong mainly because it didn't "forget" implementation details. "...values are identical objects, not just in value..." shows the confusion.>I don't think one discussion should be considered "more true" ;-) >than the other. >Would you consider it right to say that 1 / 3 and 2 / 6 are two distinct but identical rational numbers? (This surely has got some "rational" core, because set-theoretically these *are* two distinct representations of one rational number). BTW, unique (also normalized) representations may be "unsuitable" sometimes - see e.g. the case of BCD numbers, where an "unnormalized" (1.00) representation may carry additional useful information, which isn't "present" in the normalized (1.0) one. Anyway, a question "Which look suits better a particular purpose?" is legitimate. I am not saying there aren't purposes needing "specific details". But even in that case the "normal" look is, that although there are many distinct representations of one rational number, the rational number in question is just one rational number. The translation to Rebol value case is straightforward and is done by you below:>LM> There is not a complete counterpart of the above article written in an >LM> "implementation dependent" style and there never will be such a >LM> counterpart, because the implementation dependent terminology is >LM> intrinsically inconsistent. A notion: "distinct but identical" >LM> illustrates well the trouble one gets into when using it. > >This problem goes away as soon as you say "two distinct >representations of the same value". >Yes! That is what I am trying to say all the time! "Two distinct representations of the same value" is it.>I agree that an "abstract", i.e. implementation-independent, >description of REBOL is useful; however, only Carl could really >provide us with something like that. >I have shown above, that in a specific case he didn't succeed to do it just because he didn't "forget enough implementation details". Moreover, my article inspired his short Same? function description, see the evolution of the Same? function help. This proves (for me at least) that the last statement needn't always be true. -L