Hi, Elan.
You said:
[Offending part deleted...]
I think that your terminology introduces grave mistakes in reflecting on
how REBOL behaves and constitutes a source for confusion.
If I'm not mistaken, the whole point of your approach in this email series
;-) is that you are trying to be able to formulate that in
a: "1234"
b: next a
c: next b
a, b and c reference the same series at different positions.
[This, although wrong (?!) can be proven as follows:]
a: "1234"
b: next a
c: next b
reference: func [x [series!]] [
head x
]
same? reference a reference b
same? reference a reference c
same? reference b reference c
position: func [x [series!]] [
index? x
]
[Funny, isn't it?]
You would like
to invent a terminology that puts in focus the fact that the positions are
different while the data storage is identical, by providing a term that
says "same data storage, different position". For this you choose the term
"series".
1. The term is ill chosen. REBOL already uses series to designate a
pseudotype, something like an abstract datatype, which refers to a
collection of related datatypes, such as strings and blocks. Series as a
pseudotype is spelled with an exclamation mark (series!), but derived from
this spelling, the word series is commonly used in the explanation of
functions, to denote the argument passed to a function, and is commonly
used informally, to refer to a value of type series!. You invite confusion,
when you introduce the word series as a term that means something else.
2. With respect to the example above:
a: "1234"
b: next a
you often refer to 'b as a "series referencing the shared or sharable data
storage". This is incorrect for two reasons.
1. It is incorrect because 'b is a word. 'b is not a series. 'b is not
converted into something other than a word (such as a series) and referring
to 'b as a series, such as in "the b series references the shared data
storage", is incorrect. It describes the word 'b in terms that may mislead
a newbie to think of 'b as being something different from what it actually
is, namely a word that references some value. A terminology designed to
conceptualize REBOL should not invent a new REBOL, which is inconsistent
with the REBOL language implemented in the REBOL interpreter.
[Interesting. You are saying: Murphy is not a man, it's only a word, but I
was warned that Murphy didn't invent The Murphy's law, because it was
invented by somebody that (accidentally) had the same name only...]
The rest globally deleted.
Ladislav