This chapter has been rather heavy on arithmetic up to now. You
might wonder whether operators can have operands of mode
CHAR
. The answer is yes. Indeed, the
+ and *
operators are so declared, and we shall meet them in chapter 3.
There are two monadic operators which involve the mode
CHAR
. The operator ABS
(which we have already met) can take a CHAR
operand and
yields the integer corresponding to that character. For example,
ABS "A"
yields 65
(the number associated
with the letter "A"
as defined by the
ASCII standard). The identifier max abs
char is declared in the standard
prelude with the value 255
.
Conversely, we can convert an integer to a character using the monadic
operator REPR. The formula
REPR 65
yields the value "A"
. REPR
can act on
any integer in the range 0
to max abs char
.
REPR
is of particular value in allowing access to control
characters. For example, the tab character is declared in the
standard prelude as tab ch. Consult
section 13.2.2 for the
details.