Next: Numbers, Up: Data Types [Contents][Index]
The two boolean values are #t for true and #f for false.
They can also be written as #true and #false, as per R7RS.
Boolean values are returned by predicate procedures, such as the general
equality predicates eq?, eqv? and equal?
(see Equality) and numerical and string comparison operators like
string=? (see String Comparison) and <=
(see Comparison).
(<= 3 8) ⇒ #t (<= 3 -3) ⇒ #f (equal? "house" "houses") ⇒ #f (eq? #f #f) ⇒ #t
In test condition contexts like if and cond
(see Conditionals), where a group of subexpressions will be
evaluated only if a condition expression evaluates to “true”,
“true” means any value at all except #f.
(if #t "yes" "no") ⇒ "yes" (if 0 "yes" "no") ⇒ "yes" (if #f "yes" "no") ⇒ "no"
A result of this asymmetry is that typical Scheme source code more often
uses #f explicitly than #t: #f is necessary to
represent an if or cond false value, whereas #t is
not necessary to represent an if or cond true value.
It is important to note that #f is not equivalent to any
other Scheme value. In particular, #f is not the same as the
number 0 (like in C and C++), and not the same as the “empty list”
(like in some Lisp dialects).
In C, the two Scheme boolean values are available as the two constants
SCM_BOOL_T for #t and SCM_BOOL_F for #f.
Care must be taken with the false value SCM_BOOL_F: it is not
false when used in C conditionals. In order to test for it, use
scm_is_false or scm_is_true.
Return #t if x is #f, else return #f.
Return #t if obj is either #t or #f, else
return #f.
The SCM representation of the Scheme object #t.
The SCM representation of the Scheme object #f.
Return 0 if obj is #f, else return 1.
Return 1 if obj is #f, else return 0.
Return 1 if obj is either #t or #f, else
return 0.
Return #f if val is 0, else return #t.
Return 1 if val is SCM_BOOL_T, return 0
when val is SCM_BOOL_F, else signal a ‘wrong type’ error.
You should probably use scm_is_true instead of this function
when you just want to test a SCM value for trueness.
Next: Numbers, Up: Data Types [Contents][Index]