( Booleans

Info Catalog ( Simple Data Types ( Numbers
 21.1 Booleans
 The two boolean values are `#t' for true and `#f' for false.
    Boolean values are returned by predicate procedures, such as the
 Equality::) and numerical and string comparison operators like
 `string=?' ( String Comparison) and `<=' ( Comparison).
      (<= 3 8)
      (<= 3 -3)
      (equal? "house" "houses")
      (eq? #f #f)
    In test condition contexts like `if' and `cond' ( if cond
 case), 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")
      (if 0 "yes" "no")
      (if #f "yes" "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).
    The `not' procedure returns the boolean inverse of its argument:
  -- Scheme Procedure: not x
  -- C Function: scm_not (x)
      Return `#t' iff X is `#f', else return `#f'.
    The `boolean?' procedure is a predicate that returns `#t' if its
 argument is one of the boolean values, otherwise `#f'.
  -- Scheme Procedure: boolean? obj
  -- C Function: scm_boolean_p (obj)
      Return `#t' iff OBJ is either `#t' or `#f'.
Info Catalog ( Simple Data Types ( Numbers
automatically generated byinfo2html