>why would a typedef- or enum-based boolean type
>fail to serve this purpose, assuming one is convinced
>of the need for a boolean type.

that's easy, and that's why one reason i picked on _Bool:
it has a special new conversion rule (added
to `the usual arithmetic conversions') that can't
be done using typedefs or enums, namely that any
non-zero value converts to 1.  that is needed to
work with the existing conditional structure.
it's all done to satisfy all earlier right-thinking people,
who thought that languages without a boolean type
were clearly depraved, that this zero/non-zero stuff
was just perverse, and therefore added boolean themselves (differently) using
typedefs and enums; which didn't work correctly.
they couldn't get that right, but they could fill in
the right documents and do the political work to change
the standard.

Reply via email to