I just fluffed the To: field in the header, so my previous message was bounced, I'm resending this ... sorry if it turns up twice. (I also took the opportunity to make an addendum).
Yo, > Haskell Integers are not a proper subset of Haskell Floats or > Doubles. Haskell does not support real numbers. I'd just like to add ... Real numbers are not implementable on a digital computer. This is not a "practical" matter of resources, or a design decision in by the language designer, but the fact that any data type each of whose elements are represented in a finite number of bytes can't have more than a countable number of data elements. Integers, and Rationals can be represented. Even the so-called computable-real-numbers, (still countable) don't work as well as you would want, since things such as "is this number bigger than that one" can't always be computed. Add to this the fact that the generic float type does not satisfy algebraic constraints such as associativity, and so can't, from the axiomatic point of view, be considered to be a representation of rational numbers (let alone reals). Basically, from the algebraic perspective, the float type is a messy fudge, and does not fit in nicely with any of the "pure" types. In general the containment Complex ---> Real --> Rational ---> integer ---> whatever. Does not apply in this simple way to numerical types on a computer, because data types are often constructed on the basis of not just what they represent, but also how they represent these things. The computable world (constructive mathematics) is a lot more complicated and open ended than the existential approach. Regards, Bruce. ps: I've made previous comments about this sort of thing: ``Algebraic Conversions'', A mathematical paper introducing a generalisation of homomorphism of universal algebras. In Research Letters in the Information and Mathematical Sciences Vol 2, May 2001. (pub by Massey University New Zealand). see also, \verb|http://www.massey.ac.nz/~wwiims/rlims| Addendum: Personally I think that lattices of extension fields of the rationals give a good model for understanding what is going on with pure numerical types on digital computers, but maybe that's just me? _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
