At Thu, 22 Jun 2017 15:35:13 +0300, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote in
<CAPpHfdtsF13YM1jbKCDBrdeC2Da5vs9Ca6sL4rwRj6=h1ACZgw@mail.gmail.com>
> On Thu, Jun 22, 2017 at 2:09 PM, Kyotaro HORIGUCHI <
> horiguchi.kyotaro@lab.ntt.co.jp> wrote:
>
> > Hello, I have a maybe-silly question.
> >
> > What makes us have both TRUE/true or FALSE/false as constants of
> > bool?
> >
> > The following definitions in c.h didn't mess anything up.
> >
> > #define TRUE true
> > #define FALSE false
> >
>
> +1
> I don't know any policy about where to use TRUE and FALSE over true and
> false.
>
> # NIL seems causing similar mess.
> >
>
> NIL is used for lists, while NULL is used for other pointers.
> That may cause redundant, but at least there is clear policy.
Yes, I know and I like it personally, but NULL is sometimes used
with list pointers.
Looking on the face NIL === NULL is not proved but "if (!list)"
is seen frequently. Compler doesn't distingush them and actually
they harm nothing. This is all right but these facts make me
doubt of the significance of NIL.
Anyway, I don't mean that NIL ought to be removed immediately. It
will be naturally resolved when we migrate to pure C++ world
someday... ?
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center