First of all, is it correct to use the term pointer when talking about the internal index in a list?
Consider the following Rebol code:
a: [1 2 3 4 5 6 7 8 9]
a: at a 4
b: a
a and b both point to the same list and both return [4 5 6 7 8 9]. This I understand. However, I don't see how the internal index can be moved in a, but not in b:
a: head a
length? a ; Returns 9
length? b ; Returns 6
How are the internal indices kept separate for a and b?
Lastly, is it correct in Rebol to say that a and b are references to the list [1 2 3 4 5 6 7 8 9], using the definition of reference in Java or C#?