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]