### rational (System Class)

##### Class Precedence List:

`rational`

,
`real`

,
`number`

,
`t`

##### Description:

The canonical representation of a *rational*
is as an *integer* if its value is integral,
and otherwise as a *ratio*.

The *types* `integer`

and `ratio`

are *disjoint* subtypes of *type* `rational`

.

##### Compound Type Specifier Kind:

Abbreviating.

##### Compound Type Specifier Syntax:

(rational `[`lower-limit `[`upper-limit`]``]`)

##### Compound Type Specifier Arguments:

`lower-limit`, `upper-limit`—*interval designators*
for *type* `rational`

.
The defaults for each of `lower-limit` and `upper-limit` is the *symbol* `*`

.

##### Compound Type Specifier Description:

This denotes the *rationals* on the interval described by
`lower-limit` and `upper-limit`.