[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