[REBOL] Re: Core 2.5.5 Beta Versions
From: g:santilli:tiscalinet:it at: 25-Feb-2003 11:58
Hi Joel,
On Monday, February 24, 2003, 5:57:57 PM, you wrote:
JN> From my "abstract" POV, the phrase "the third child in the family"
JN> is a reasonable phrase, even when the phrase "the family" is allowed
JN> to take different meanings at different points in time. Even if we
I agree, and REBOL handles that very nicely, with:
>> pick [1 2] 3
== none
Notice that I never liked:
>> third [1 2]
** Script Error: Out of range or past end
** Near: third [1 2]
while Ladislav suggest this to be applied to PICK too.
Out-of-range series are a different issue IMHO. If you ask
yourself the question: "is the child you have in front of you the
third child?" then the answer "there's no third child in this
family" seems reasonable to me.
JN> In the same way, I think of the phrase "the third position of the
JN> series" as a reasonable (abstract, non-implementation-dependent)
The third element yes, the third position no, if we think of
position as a possible state for a series value, IMHO. I.e. to the
question "where am I?", why should I get the answer "nowhere"?
Of course, we can define series differently as an infinite space
where you can place values; if they are infinite, you can move
forward and backward as you wish, even if the series is empty. But
the current concept of series is a finite sequence of values.
JN> asking "Which element have we been examining through this reference?"
JN> and being told "3".
Again, it's not a problem for me as long as we redefine the
concept of "series". As I see them now, the answer above makes no
sense for an empty series.
JN> I'm simply asking for consistency. Letting NONE universally represent
JN> "There is no answer to your question." would seem to me to be a big
JN> step forward, and *away* from what I consider to be unnecessary,
JN> confusing, and implementation-dependent inconsistencies, such as
I agree wholeheartedly. I'm sure Lad has to object to this,
however. :)
JN> but, of course, it currently can't.
JN> >> index? b
JN> ** Script Error: Out of range or past end
JN> ** Where: halt-view
JN> ** Near: index? b
Hmm, should it return NONE? (This question is probably more
serious than it could look. :)
JN> However, I'd be truly horrified if my assistant dealt with the
JN> one-child situation by giving me information about the first/only
JN> child of the family and making the secret resolution to tell me
JN> thereafter about the first child of any subsequent family.
Yup, and that's why I'd use PICK and not AT in that case. :-P
Regards,
Gabriele.
--
Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer
Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r