Numbers

The .NET number classes (int, float, etc) represent the corresponding scheme number types. In addition, there are three scheme number classes representing types of number that are part of the set of scheme types but not available from .NET.

These classes are Rational, RationalComplex and Complex, which represent respectively an exact rational number, an exact complex number and an inexact complex number.

Note that presently a decimal is treated as an exact floating point number. However, TameScheme is not presently capable of promoting it to a Rational, which limits its usefulness. (.NET 1.1 does not appear to provide introspection functions that are required for this)

The number classes all implement the INumber interface which provides a common means of manipulating them, in addition to some class-specific functions.