[REBOL] Re: On ordinal and cardinal numbers...
From: joel:neely:fedex at: 7-Jul-2001 10:58
Hello, again, Jeff,
Jeff Kreis wrote:
> > I assumed that the other option that had been raised
> > (having some sort of global flag that would switch all
> > existing words between 1- and 0-origin behavior) was not
> > acceptable/feasible.
>
> A setting verses replicating all the series actions for zero
> based indexing.
>
> If you globally set your base you'll break at least half the
> scripts you DO, pretty much forever. Some algorithms will be
> agnostic to the base, but many will not (as Joel Neely has
> been showing). Programmers shouldn't have to write their
> code twice for each base that your REBOL might be running
> under.
>
I don't proposing doing so (either having the flag or writing
scripts twice).
That said, this kind of global switch setting does occur in
other languages. One standard technique for managing the
effects is to make the switch read/write, not write-only.
A routine that has some reason to twiddle a global switch
accepts responsibility for saving the state of the global,
doing its own thing, then restoring the state before exiting.
It is, of course, much simpler simply to do without features
that affect the global state. Just imagine the chaos that
could ensue if, for example, we allowed a function to change
the current directory, close a file, or modify a global
variable... The mind boggles! ;-)
> On second thought, replicating all the series actions is
> sounding much more preferable...
>
We can certainly agree on that.
-jn-
---------------------------------------------------------------
There are two types of science: physics and stamp collecting!
-- Sir Arthur Eddington
joel-dot-neely-at-fedex-dot-com