Conversion rules

from \ toboolintrealstringptr
nullfalse00.0"null"NULL
bool-0/10.0/1.0"false"/"true"NULL/0x1
int0 => false, otherwise true---cast
real0.0 => false, otherwise trueround to nearest-sprintf %gcast
stringempty => false, otherwise true*1*1-char*
functrue00.0"function"NULL
cfunctrue00.0"C function"NULL
object *2true00.0"object"data ptr.
ptrNULL => false, otherwise truecastcastsprintf ptr(%p)-
threadtruecastcastsprintf thread(%p)cast