Vlad,
As I've said elsewhere in this thread this was a simply a curiousity to me. Personally, it doesn't make a bit of difference. Second, you know me well enough to know that whenever I make an API call that returns a BOOL, it's in the format of: llresult = (SomeBOOLAPICall() # 0). That aside, the curiousity was inspired because it (TRUE) seemingly isn't defined recursively (namely as in QB you'd do a CONST TRUE% = NOT FALSE). Whatever unary NOT returned became the value for TRUE. In this case, it happened to be the bitwise compliment.
Several times in this thread, I've used the term "recursively defined" and perhaps, especially for any lurkers, I explain what I mean.
Without recursive definitions we wouldn't even have computers. Consider (way back in the DOS days) the following:
The letter A is displayed on a screen. How did that get there? Well, some where in memory, a bit pattern, contains in a fixed number of bytes defined its appearance. The start of the bit pattern was at a fixed address, that was defined in a look up table. This address in turn was defined as being offset 65 times the length of an individual address. 65 was defined as the representation of the letter A. So, somewhere in memory there existed the value 65 that was being displayed on the screen as A. Even today, this is fundamentally the same.
Anyway, that's what inspired this. I was just curious as to why a recursive definition wasn't used is all.
George
Ubi caritas et amor, deus ibi est