{
:is_letter
:is_digit
:is_upper
:is_lower
:is_visible
}

Where

Define (is_letter c)
    (Or (is_lower c) (is_upper c))

Where

Define (is_visible c)
    (And [32 < c] [c < 127])

Define (is_digit c)
    (And [`0` <= c] [c <= `9`])

Define (is_upper c)
    (And [`A` <= c] [c <= `Z`])

Define (is_lower c)
    (And [`a` <= c] [c <= `z`])

Where

Open Z
    {
    :Infix <
    :Infix <=
    }

Where

Let Z Package "z"