Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[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