[Haskell-cafe] Numeric Class Problem
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Sun Jan 28 13:04:58 EST 2007
On Jan 28, 2007, at 13:01 , Dennis Buchmann wrote:
> It should look like this:
> floor(j * (n / p2n))
> where j is an Integer, n is the length of a list, therefore Integer
> too,
> and p2n is 2^n.
>
> When i use the former line in my Haskell code (pasted at the end of
> this mail),
> i get the following error message:
>
> qc.lhs:464:16:
> No instance for (RealFrac Int)
> arising from use of `floor' at qc.lhs:464:16-36
It's telling you you're trying to take the floor of an Int (not a
type in class RealFrac, which would be Float or Double). This makes
sense because everything there is in fact an Int ((^) is defined as
taking things of class Integral (Integer, Int) and returning
something in class Num, which in this case will be Int because it's
used in an Int expression). In other words, floor is unnecessary.
--
brandon s. allbery [linux,solaris,freebsd,perl] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe
mailing list