Next: Coercion, Previous: Types of Numbers, Up: Enhanced Number Types [Contents][Index]

Formally, we refer to numbers (and anything number-related) in the
SXEmacs lisp environment by a category called ‘`number`’. The
category ‘`number`’ (deductively) consists of all SXEmacs lisp
objects which can be used in the arithmetical functions `+`

and
`*`

, and which possess a *canonical norm*, i.e. for which the
function `canonical-norm`

returns a value.

Of course, in our deductive approach, we wish to fragment the
category ‘`number`’ seamlessly into several subcategories. You can
take for granted that this is possible. To not scare you completely
off, we look at an inductive approach instead.

The inductive approach attempts to start at something like the atoms
of the enhanced number facilities, namely the C types. As discussed
in the previous section, C types themselves are gathered and unified
into an abstract C type, which is library independent. Now we try
further unifications to get something like *the* super-type,
which we call a category, since its objects do not physically carry
this type.

• Category integer: | Unifications of rational integers. | |

• Category rational: | Unifications of rationals. | |

• Category real: | ||

• Category comparable: | ||

• Category nonnegative: | ||

• Category complex: | ||

• Category archimedean: | ||

• Category nonarchimedean: | ||

• Category algebraic: | ||

• Category transcendent: | ||

• Category zero: | ||

• Category one: | ||

• Category number: |

Next: Coercion, Previous: Types of Numbers, Up: Enhanced Number Types [Contents][Index]