Bools reloaded

Don Clugston dac at nospam.com.au
Thu Mar 2 08:45:49 PST 2006


Bruno Medeiros wrote:
> Walter Bright wrote:
>> "Tom" <Tom_member at pathlink.com> wrote in message 
>> news:du049t$2uv2$1 at digitaldaemon.com...
>>> Yes, PLEASE, WHY?? Just ONE argument against pure bools, only one and 
>>> I shut my
>>> mouth forever!
>>
>> One should be very careful about stepping away from C's implicit 
>> promotion rules for a language that aims to be a successor to C. C 
>> absolutely *buried* Pascal.
>>
> 
> Uuh, I'm not sure what Tom meant by "pure bools", nor I'm sure what you 
> meant by "C's implicit promotion rules" (as C doesn't even have a bool). 
> But ok, nevermind, let's pause for a moment, and get our facts straight.
> 
> What exactly is it in bools that you Walter, want and not want?
> I already know that the ability to write 'while(1)' as the same as 
> 'while(true)' is one of them, but, anything more?
> Is the behaviour of having an "implicit promotion" something you want too?
> If so, promotion from where, from int to bool, or from bool to int?
> Do you want or not want bool numeric operations to be an error (like 
> boolA / boolB*2) ?


I think one use case that is important is to be able to use bool to 
connect to C APIs (such as the Windows SDK) that use BOOL (a short).

Interestingly, you only need this for extern(C), extern(Windows) 
declarations. It would be fantastic if there was a way to specify that
an extern function is actually a synthetic bool.

The ability to say
if (p || q) {}
instead of
if (p !is null || q !is null) {}
is important too.

I too would like to know if Walter has more.




More information about the Digitalmars-d mailing list