# [Haskell-cafe] A simple question

Marc Charpentier mc at 3virgule14.net
Tue Nov 2 15:53:28 EST 2004

```Good evening,

Doing some calculations in ghci, I encountered a difficulty which I
cannot resolve.

Here's a distilled version, prepared for the command line:

let i = 2 in (-1)^i/(2^(10*i)) * (-2^5/(4*i+1))

gives the following error messages

ghci:
Ambiguous type variable `b' in these top-level constraints:
`Fractional b' arising from use of `/' at <interactive>:1
`Integral b' arising from use of `^' at <interactive>:1

hugs:
ERROR - Unresolved overloading
*** Type       : (Integral a, Fractional a) => a
*** Expression : let {...} in (-1) ^ i / 2 ^ (10 * i) * negate (2 ^ 5
/ (4 * i + 1))

However, if I substitute i = 2 in the last fraction, then the
transformed expression

let i = 2 in (-1)^i/(2^(10*i)) * (-2^5/(4*2+1))

is accepted.

Note that both

let i=2 in (-1)^i/(2^(10*i))

and

let i=2 in  (-2^5/(4*i+1))

are accepted.

Why?

Thank you in advance.

Marc Charpentier

```

More information about the Haskell-Cafe mailing list