BigInt bool assign
    Timon Gehr 
    timon.gehr at gmx.ch
       
    Sat Dec 24 09:45:10 PST 2011
    
    
  
On 12/24/2011 05:02 PM, Derek wrote:
> On Sun, 25 Dec 2011 02:50:15 +1100, Timon Gehr <timon.gehr at gmx.ch> wrote:
>
>>> Although BOOL is typed as 'int', it really has the semantics of 'bool'.
>>> We have an example of this in D1's opEquals().
>>> I think this is reason why implicit conversion bool -> int exists.
>>
>> It exists because it is handy and makes sense. Would you also want to
>> ban implicit short -> int conversion?
>
> A 'short' is a type of integer, an 'int' is a type of integer, but a
> 'bool' is NOT a type of integer.
>
> One can do arithmetic with two integers
If so, then 'short' is not a type of integer.
> but what does 'TRUTH * TRUTH'
> mean? Or what does 'FALSEHOOD - TRUTH' mean?
>
TRUTH and FALSEHOOD are in my understanding not values, so performing 
operations on them is nonsensical.
Having the symbols {0, 1} as the boolean values is a common convention, 
even outside programming language implementations or computer 
science/digital design. So TRUE * TRUE = 1*1 = 1 and FALSE - TRUE = 0 - 
1 = -1 makes sense.
    
    
More information about the Digitalmars-d
mailing list