On 6 Jan 2005, at 14:06, Maur�cio wrote:
*****
import Complex;
a = 3 :+ 4;
*****

and load it into ghci, "a + 4" gives me "7.0 :+ 4.0", although "a + (4::Float)" gives me that error again. Why Haskell converts "4" to Complex but not a Float?


The answer lies available to you in ghci:

Prelude> :t 4
4 :: forall t. (Num t) => t

The type of for is 'any type in the Num class'. So '4' stands for the Integer four as well as the Float four and the Double four and indeed the Complex 4.

No conversion is actually happening.

Jules

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to