[Haskell-cafe] Re: What does the Haskell type system do with"show (1+2)"?

Brian Hulley brianh at metamilk.com
Fri Jan 13 10:34:21 EST 2006

Cale Gibbard wrote:
>> <Snip>
> So long as we're going to have a defaulting mechanism, it seems a bit
> odd to restrict it to Num, and to classes in the Prelude.

Instead of having literals such as 1 that could be Int, Integer, or Float 
etc, why not just have one Number type declared as something like:

data Number = NInt Int | NInteger Integer | NFloat Float | NDouble Double | 
NRational Integer Integer | NComplex Number Number

etc so that all numeric literals would just be translated by the compiler 
into a Number. Arithmetic ops would then not be overloaded but the compiler 
could hopefully optimize out the extra indirection caused by using Number 
instead of plain Int, Integer, etc.

Regards, Brian. 

More information about the Haskell-Cafe mailing list