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

Reply via email to