
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@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH