It's correct, if a little confusing when you know that:

  • In KiXtart speech marks around strings are optional. Any string (in the role of a parameter) which is not recognised as KiXtart syntax is assumed to be a string.
  • In KiXtart a non-zero length string is always true (even is it is "0")


So because the function does not exist in the KiXtart syntax dictionary it is assumed to be a simple string and as it is not null it's boolean value is true.

In your example even the word True is not a boolean, it is a non-zero string. If you replaced your True with False it would work exactly the same, which could be a bit confusing.

KiXtart does catch bare strings in some cases, which can also be a little confusing to neophytes, In the following example the first three work but the last does not:
 Code:
""+Hello+@CRLF
CStr(Hello) @CRLF
"" "Hello" @CRLF
"" Hello @CRLF