
Hi There, Here is a very simple haskell program I have written to find whether a number is prime or not, which doesn't give me any compilation error but gives following run-time error : Any help would help me move ahead, I know that the type concepts is what I am lacking, anly pointer to simple/good article/paper would definitely help. Lots of thannx jut even to look at the mail :-) Regards Kaushal *Run Time Error :* kaushal > isPrime1 171 <interactive>:1:0: Ambiguous type variable `t' in the constraints: `Integral t' arising from a use of `isPrime1' at <interactive>:1:0-11 `Floating t' arising from a use of `isPrime1' at <interactive>:1:0-11 `RealFrac t' arising from a use of `isPrime1' at <interactive>:1:0-11 Probable fix: add a type signature that fixes these type variable(s) kaushal > *Program :* isPrime1 x = let canDivide num 0 = 0 canDivide num 1 = 0 canDivide num divisor = if ((mod num divisor) == 0) then 1 else canDivide num (divisor - 1) in if ( x == 1 ) then putStrLn("1 is Neither prime nor composite!!!") else if ((canDivide x first_div) == 1) then putStrLn(show(x) ++ " is not a Prime Number!!!") else putStrLn(show(x) ++ " is a Prime Number!!!") where first_div :: Integral a => a ; first_div = round (sqrt x)