These are not C functions but macros.
In SWI-Prolog.h
, we find:
#ifndef TRUE #define TRUE (1) #define FALSE (0) #endif #define PL_succeed return TRUE /* succeed deterministically */ #define PL_fail return FALSE /* fail */
So using TRUE
and FALSE
as "Prolog TRUE" and "Prolog FALSE" elsewhere seems appropriate.
On the C level, there is stdbool.h
:
#define bool _Bool #define true 1 #define false 0
which makes bool
compatible (not really surprisingly).