💾 Archived View for shaggypeak.com › library › r7rs › section3.2.gmi captured on 2023-07-22 at 17:10:49. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-03-20)

-=-=-=-=-=-=-

Table of Contents

Section 3.1 - Variables, syntactic keywords, and regions

Section 3.3 - External Representations

3.2 Disjointness of Types

No object satisfies more than one of the following predicates:

boolean?     bytevector?
char?        eof-object?
null?        number?
pair?        port?
procedure?   string?
symbol?      vector?

and all predicates created by define-record-type.

These predicates define the types boolean, bytevector, character, the empty list object, eof-object, number, pair, port, procedure, string, symbol, vector, and all record types.

Although there is a separate boolean type, any Scheme value can be used as a boolean value for the purpose of a conditional test. As explained in section 6.3, all values count as true in such a test except for #f. This report uses the word “true” to refer to any Scheme value except #f, and the word “false” to refer to #f.