Hi, Rebols,
proposing a terminology. Example:
a: [1 2 3]
b: tail a
c: [1 2 3]
d: []
Everybody knows that there are differences between relations A <=> B and
C<=>D.
What about using the notion SAME-HEADED like this:
same-headed?: func [a [series!] b [series!]] [
same? head a head b
]
Example:
same-headed? a b
same-headed? c d
>> same-headed? a b
== true
>> same-headed? c d
== false
Another proposed notion is SUBSERIES, which means:
subseries?: func [a [series!] b [series!]] [
(same-headed? a b) and ((index? a) <= (index? b))
]
Advantages: you don't have to try to use any implementation-specific
guesses, just the natural Rebol notions when speaking about Rebol.
Ladislav
> Hi Joel
>
> Those were the words of [EMAIL PROTECTED]:
> <...>
> > For clarity of communication, and ease of learning by newcomers,
> > I'm simply proposing that:
> >
> > A) each language concept should have one unique name/term
> > (although explanations and tutorials obviously will use a
> > variety of descriptions)
> > B) each name/term should refer to one unique concept.
> >
> > I believe this somewhat purist approach is compatible with the
> > philosophy of a minimalist/elegant language such as REBOL.
>
> I agree here, but
>
> > In THEORY, a series is a data storage and a "current position"
> > within that storage.
>
> > In IMPLEMENTATION, a series has a REFERENCE to a sharable data storage
> > and has a private/nonshared "current position" within that storage.
> > Don't we agree that given:
> >
> > a: next "123456"
> > b: next a
> >
> > both 'a and 'b refer to the same string, but to different positions
> > within that string? Isn't it valid to say that 'a and 'b are not the
> > same series, but that each is a series referring to the same string
> > (or whatever we want to call the data storage in this example)?
> > Isn't that less ambiguous than saying that they are the same series?
>
> I find it much easier to understand to call
> "123456" - the series, and
> 'a / 'b - indexes into the series
>
> To me this seems to show better the difference between actions on
> the index ('next, ...) and on the series (insert, ...)
>
>
> Just my two cents
>
> regards,
>
> Ingo
>
> -- _ . _
> ingo@)|_ /| _| _ <We ARE all ONE www._|_o _ _ ._ _
> www./_|_) |o(_|(/_ We ARE all FREE> ingo@| |(_|o(_)| (_|
> http://www.2b1.de/Rebol/ ._| ._|
>
>