Mailing List Archive: 49091 messages

## [REBOL] Re: new puzzle on sameness 1

### From: rotenca:telvia:it at: 15-Feb-2003 17:54

```

I hope to not be boring (but i know to be boring)

> > I conclude that both same? and identical? fail to distingue all identical
> > values.
>
> I do not understand.

I want to say that identical? can only test

get/any 'a get/any 'b

and when you get Rebol values in this way, some informations about the Rebol
value are lost.

> I just wanted to discuss and classify two basic kinds of changes. Do you
> find the wording unclear in that respect?

I only say that there are three basic types of changes in Rebol.

> I used my definition of identity to define the meaning of
> mutability/immutability.

You say:

two Rebol values are identical, if they aren't discernible.

Two Rebol values A and B are identical, if for every equivalence EQ the
expression (eq get/any 'a get/any 'b) yields TRUE. In different words: two
Rebol values are identical, if they are equivalent for every purpose.

I think that the evaluation of the expressions get/any 'a get/any 'b transform
the Rebol value A and B in two abstractions of A and B.

(eq get/any 'a get/any 'b) yields TRUE

is necessary but not sufficient to decide the identity of two rebol values,
can be sufficient to decide the identity only of two abstractions (of the type
get/any 'a) of two Rebol value.

I can discen two Rebol value that an equivalence can't discern. For example
this function (written very fast) can check if two integer rebol values
expressed by two words are discernable by word-mutation:

x: func ['a 'b][if same? get a get b [set a (get a) + 1 if equal? get a get b
[return true]] false]

but it is not an equivalence, as you defined it.

At least you should add this definition in the front of your text (and it is
the only definition which you did not put in it):

Ladislav Value: the result of the function call get/any 'word
In this text i call "Rebol values" the "Ladislav values"

You are free to make all the definition you like, i am free to find your
definition too limitate to be useful for discern Rebol values.

> Again, a principial difference. My definition of the IDENTICAL? function
> didn't use the notion of mutability at all. Actually, the opposite is true.

This could be true, but i should like to know:

1) why you speak of changes and mutability before defining identical? ?

2) the mindex? function used in identical? does not use the notion of
mutability?

3) why you say in your text that identical? can be defined after mutability?

PS No answer at all for puzzle 2. Must i post the solution?

---
Ciao
Romano
```