Go to the first, previous, next, last section, table of contents.


Internal conventions

Routines returning result codes return 1 if they failed, and 0 if they succeeded. Why? It is then very easy for the higher level routine...

  if( lower_level_routine()) 
    { 
      report failure;
      return 1; 
    } 

Reasoning behind -1.0 and 1.0 booleans.

For simplicity I only have one data type in this language, and that is 'double'. Now with C and C++ booleans are 'int's, and 0 is false and non-zero is true. But if you are dealing with 'double's, a value like 1e-308 might seem to be zero and hence false, but is in fact non-zero and hence true. Thus to avoid such confusion, I define in this language strictly positive values to be true, and non-positive values to be false. All logical and relational operators set the result to 1.0 for true and -1.0 for false. The defines STRUES_BOB and AIKONA give a truly 'South Effrican' names to these values.


Go to the first, previous, next, last section, table of contents.