Next: Characters, Previous: Equivalence Predicates, Up: Top [Contents][Index]

(This section is largely taken from the Revised^4 Report on the Algorithmic Language Scheme.)

Numerical computation has traditionally been neglected by the Lisp community. Until Common Lisp there was no carefully thought out strategy for organizing numerical computation, and with the exception of the MacLisp system little effort was made to execute numerical code efficiently. This report recognizes the excellent work of the Common Lisp committee and accepts many of their recommendations. In some ways this report simplifies and generalizes their proposals in a manner consistent with the purposes of Scheme.

It is important to distinguish between the mathematical numbers, the
Scheme numbers that attempt to model them, the machine representations
used to implement the Scheme numbers, and notations used to write
numbers. This report uses the types *number*, *complex*,
*real*, *rational*, and *integer* to refer to both
mathematical numbers and Scheme numbers. Machine representations such
as fixed point and floating point are referred to by names such as
*fixnum* and *flonum*.

• Numerical types: | ||

• Exactness: | ||

• Implementation restrictions: | ||

• Syntax of numerical constants: | ||

• Numerical operations: | ||

• Numerical input and output: | ||

• Fixnum and Flonum Operations: | ||

• Random Numbers: |