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