
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