Mailing List Archive: 49091 messages

## [REBOL] Re: Correct Behaviour? Was False = 2 ????

### From: jeff:rebol at: 4-Jul-2001 13:16

```
Howdy, Robbo0Mark:

> >zeroth: func [x][pick x 0]
. . .
> >fourth: :fifth
>
> This part of what you wrote is surely wrong?

Nope.  It's absolutely right, I've zeroed in on the solution
to this confounding dilemma of zeroth principals (or maybe
that should be "I negative-oned in on it".. hmmm).

> As we discussed earlier about the series of natural numbers
> 0 1 2 3 4 5 ...... infinity
>
> 0 is the  FIRST number there is no ZEROTH,  1 is the second
> number.

Right, wrong, no, yes.  Zeroth is first, and like you say
above, 1 is second, second zeroth to the first and third
fourth to the zeroth, but first is the zeroth element after
the zeroth, etc.  1 -> 0 0 -> 1 2 -> 3 5 -> 6 4 <-> 3 -1 -> 0
etc...  Zero one, one zero, first zeroth, and on and on.  It's
totally clear in my mind: Zeroth really is first, it only
pretends to be zero, but if you turn the zero to the side and
look, ah ha! it's really a one!! See, just imagine turning the
zero 90 degrees (er... I mean 89 degrees) and ah ha, there's a
one! It's really simple once you start thinking sideways about
it all!

> The functionality of FIRST, SECOND etc need not change.

It will be much clearer if we just remember that zero is one,
and therefore zeroth is really first.  First is the second,
fifth the sixth, but there's probably no negative-first, which
would be really be zeroth because we actually don't have a
zeroth, in a real sense, because that would be in the
negative-first position, but it's actually first, natural
numbers, such that exists for all x in Z+.

Now repeat after me "0 1 zeroth first 1 2 first second spin
zero sideways make sure to first (zeroth) think of zero first
(zeroth), first zeroth first zero".

> First would  still pick  the FIRST element  of a  series at
> index position  zero. SECOND  would pick second  element of
> series at index 1.

Yes, you've almost got it! FIRST is the item at position 1,
which is the SECOND item just as we are used to, and ZEROTH is
the item at position ZERO, and so 1 zero first 0 zeroth 1 one
0!

> Repeat after me "Counting is NOT the same as indexing..."

Yes.  With enough mantras we may help prevent those pesky off
by zero (one) errors.

> However,  if you  want and  I will  gladly audit  all REBOL
> mezzanine code  and make the necessary changes  if you give
> me sufficient time / incentive / advice.
>
> What do you say? will RT Inc take me up on my offer?

I must say, it is very refreshing to see people keeping
their sense of humors intact. Wow, that really is a hard
offer to resist! (-:

Well, Robbo0, I think you should do that, but only if you
make the changes typing only with your left pinky finger
(the zeroth finger of position zero when you count left to
right) while balancing on a 7 (6) foot high pole frying 10
million (9,999,999) pancakes with your free hand and
repeatedly singing the zeroth (first) sixty (fifty-nine)
verses of the song 99 (98) bottles of beer on the wall.  Let
us know when you're done!

Cheers!

-jeff
```