[EMAIL PROTECTED] wrote:

> 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.

Suggestion: REBOL Tech, add such or similar mezanine functions to REBOL :-)

-pekr-

>
>
> 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/                     ._|      ._|
> >
> >

Reply via email to