1# Working With Characters
2
3RETRO provides words for working with ASCII characters.
4
5## Sigil
6
7Character constants are returned using the `$` sigil.
8
9## Namespace
10
11Words operating on characters are in the `c:` namespace.
12
13## Classification
14
15RETRO provides a number of words to determine if a character
16fits into predefined groups.
17
18The primary words for this are:
19
20* `c:consonant?`
21* `c:digit?`
22* `c:letter?`
23* `c:lowercase?`
24* `c:uppercase?`
25* `c:visible?`
26* `c:vowel?`
27* `c:whitespace?`
28
29There are also corresponding "not" forms:
30
31* `c:-consonant?`
32* `c:-digit?`
33* `c:-lowercase?`
34* `c:-uppercase?`
35* `c:-visible?`
36* `c:-vowel?`
37* `c:-whitespace?`
38
39All of these take a character and return either a `TRUE` or
40`FALSE` flag.
41
42## Conversions
43
44A few words are provided to convert case. Each takes a character
45and returns the modified character.
46
47* `c:to-lower`
48* `c:to-number`
49* `c:to-upper`
50* `c:toggle-case`
51
52RETRO also has `c:to-string`, which takes a character and
53creates a new temporary string with the character.
54
55## I/O
56
57Characters can be displayed using `c:put`.
58
59```
60$a c:put
61```
62
63With the default system on BSD, Linux, and macOS (and other
64Unix style hosts), `c:get` is provided to read input. This
65may be buffered, depending on the host.
66