At 1:10 PM -0400 6/5/06, Robert Cummings wrote:
>NOOOOO! More must be said!!
>
>a   <= z
>b   <= z
>c   <= z
>-snip-
>yx  <= z
>yy  <= z
>yz  <= z
>za   > z
>
>SOOOOOOOOOOOOOOOOooooooooooo, the comparisons stop before we get to aaa
>and so aaa is never reached. za is the last comparison to occur at which
>point the test fails and the loop stops.
>
>Cheers,
>Rob.


Rob:

Okay, I tried to get out of it, but I guess more must be said.

I do understand why the loop stops -- I totally understand the mechanics. After 
all this, how could I not? Besides, it's really not that difficult, is it? So, 
what might you guess I'm really talking about?

You see, what is failing to be understood here is what I'm addressing, which is 
basic set theory. One of the basic foundations for mathematics

If I have a set that is defined as all elements > "whatever" and < "something 
else", then you can address the set. You can ask questions about the set, such 
as what's the population of the set -- besides itself, does the set have any 
subsets, and such -- get the idea?

Now, if you have a set [A] where all elements within are defined as ("a" or 
greater) and (less than "z") -- then, believe or not, that set is infinite -- 
as is the set for everything > "z".

If you choose, which is the case here, to consider only a subset of [A], then 
that's fine -- but understand that when you say the sequence is --

a b c ... x y z aa ab ac ... yx yy yz za zb zc ... zy zx zz aaa aab

-- it's not!

But rather, the actual sequence is:

a b c ... x y z aa ab ac ... yx yy yz aaa aab aac... <infinite> z

You simply have chosen to arbitrarily end the sequence at "yz". That's the 
reason why "aaa" is less than "z" but not included in the "php-loop" set of 
(for i=a to z).

You can't say that "a" and "aaa" are members of a set identified as < "z" and 
then step through all the members of that population (an infinite group) and 
not include "aaa" -- UNLESS -- you arbitrarily determine an end point for a 
much smaller sub-set.

Now, unless, there is something that I don't see, which certainly could be the 
case, then php designers could have just as easily ended the loop at "z" and 
dispensed with this quirk all together.

Besides, what's the point of having 676 character between a and z? Is there 
one? I think the "accepted" number would be closer to 26, don't you think? It 
just seems more like common sense to me -- doesn't it to you?

But this is the way it is and I except that -- but as Dirty Harry once said "A 
man's got to know his limitations" -- this not only applies to men and 
programmers, but also for languages as well.

For example, the Unicode issue was raised during this discussion -- if php 
doesn't consider the numeric relationship of characters, then I see a big 
problem waiting in the wings. Because if we're having these types of 
discussions with just considering 00-7F characters, then I can only guess at 
what's going to happen when we start considering 000000-FFFFFF code-points.

Now, was that enough said?  :-)

Cheers.

tedd

-- 
------------------------------------------------------------------------------------
http://sperling.com  http://ancientstones.com  http://earthstones.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to