Hi!

I have the following function:

theRemainder :: [String] -> [String] -> Double
theRemainder xs xt = sum( map additional (unique xs) )
        where
        additional x = poccur * (inf [ppos,pneg]) --inf takes [Double]
                where
                xsxt = zip xs xt
                pi = countPos xr -- countPos returns an Int
                ni = (length xr) - pi
                len = length xs
                len2 = length xr
                ppos = pi/len2 -- THESE ARE THE PROBLEM
                pneg = ni/len2 -- THESE ARE THE PROBLEM
                poccur = (pi+ni)/len
                xr = (filter ((\y -> (fst y)==x)) (xsxt))

And I am getting this error message with ghc:

matrix.hs:54:31:
    Couldn't match expected type `Double' against inferred type `Int'
    In the expression: ppos
    In the first argument of `inf', namely `[ppos, pneg]'
    In the second argument of `(*)', namely `(inf [ppos, pneg])'

How can I change the declaration of ppos nad pneg so they are treated as
Double for the inf function?

Cheers,
Nick
-- 
View this message in context: 
http://www.nabble.com/Type-inference-problem-with-division-%28-%29-tf4722111.html#a13500475
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to