Rick's unnamed correspondent suggested:
>The current botch whereby ints and floats are incommensurable should be
replaced by the well-thought-out Scheme numeric tower, which looks like
this:
Number
Exact Inexact
ExactComplex InexactComplex
ExactReal InexactReal
ExactRational InexactRational
ExactInteger InexactInteger
>Of course the existing range-control facets would remain. Note that
the tower is a strict subsetting relationship: an exact 5 is all of
ExactInteger, ExactRational, ExactReal, ExactComplex, Exact, Number.
This is utterly independent of representation, so 5/3 is an ExactRational
and so is 7.2.
While I accept the concept I am not sure about the use of the term Exact.
What is the exact value of pi or 1/3? ISO 11404 introduces Exact and
Approximate as Datatype Properties, rather than as datatypes. The other
distinction made is "level of precision" which is really a misnomer for
"limits of permitted values". A third distinction needs to be made between
signed and unsigned values.
What we end up with is a set of nested subsets of values:
Number
Complex number
Real number
Rational number
Integer
for which the following qualification properties:
Min. precision/Max. precision
(where precision is expressed in number of bytes of data
required to hold minumum/maximum permitted value)
Signed/Unsigned
(whether or not the first bit of the first byte identifies its sign)
Accurate/Approximate
(whether or not a larger number of bytes should be used
when calculating values, or whether rounding should be used
to keep values within the precision bounds)
Martin Bryan
IS-Thought: Thinkers for the Information Society
29 Oldbury Orchard, Churchdown, Glos. GL3 2PU, UK
Phone/Fax: 01452 714029 E-mail: martin@is-thought.co.uk
Thought of the week:
The past provides facts, the future provides intentions:
only the present provides actions.
-- DSDL members discussion list To unsubscribe, please send a message with the command "unsubscribe" to dsdl-discuss-request@dsdl.org (mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)Received on Mon Feb 3 17:39:23 2003
This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:27 UTC