character -- r7rs Type character-alphabetic-upper-case;character-alphabetic-lower-case;character-ascii-alphabetic;character-ascii-alphabetic-upper-case;character-ascii-alphabetic-lower-case;character-ascii-numeric;character-ascii-whitespace;string;make-string;string-fill!;string-set!;write-char;char?;char=?;char<?;char>?;char<=?;char>=?;char-ci=?;char-ci<?;char-ci>?;char-ci<=?;char-ci>=?;char->integer;digit-value;char-alphabetic?;char-upper-case?;char-lower-case?;char-numeric?;char-whitespace?;char-upcase;char-downcase;char-foldcase;char?
Characters are objects that represent printed characters such as letters and digits. All Scheme implementations must support at least the ASCII character repertoire: that is, Unicode characters
U+0000throughU+007F. Implementations may support any other Unicode characters they see fit, and may also support non-Unicode characters as well. Except as otherwise specified, the result of applying any of the following procedures to a non-Unicode character is implementation-dependent.Characters are written using the notation
#\<character>or#\<character name>or#\x<hex scalar value>.The following character names must be supported by all implementations with the given values. Implementations may add other names provided they cannot be interpreted as hex scalar values preceded by
x.
#\alarm--U+0007;#\backspace--U+0008;#\delete--U+007F;#\escape--U+001B;#\newline-- the linefeed character,U+000A;#\null-- the null character,U+0000;#\return-- the return character,U+000D;#\space-- the preferred way to write a space;#\tab-- the tab character,U+0009;Here are some additional examples:
#\a-- lower case letter;#\A-- upper case letter;#\(-- left parenthesis;#\(note the space after\) -- the space character;#\x03BB-- theλcharacter (if character is supported);#\iota-- theιcharacter (if character and name are supported);Case is significant in
#\<character>, and in#\<character name>, but not in#\x<hex scalar value>. If<character>in#\<character>is alphabetic, then any character immediately following<character>cannot be one that can appear in an identifier. This rule resolves the ambiguous case where, for example, the sequence of characters#\spacecould be taken to be either a representation of the space character or a representation of the character#\sfollowed by a representation of the symbolpace.Characters written in the
#\notation are self-evaluating. That is, they do not have to be quoted in programs.Some of the procedures that operate on characters ignore the difference between upper case and lower case. The procedures that ignore case have
-ci(for case insensitive) embedded in their names.
The text herein was sourced and adapted as described in the "R7RS attribution of various text snippets" appendix.