Operators using CHAR

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.

Sian Mountbatten 2012-01-19