
Did you test the properFraction-based code in isolation? If code is broken, it's important to figure out which part of it is broken. Also, this function is not divided into constituent parts, but is a long unruly mess. Dividing it into parts would make it much much more readable, and you would then be able to test the parts individually. Jimmy
The original code is givenSum num = map (\a -> let l = (sqrt $ fromIntegral (a * a + 2 + 2 * num)) - (fromIntegral a) in case properFraction l of (_, 0) -> True _ -> False ) $ take num [1..] :t l is (Floating a) => a Well, in ghci *Main> givenSum 10 [False,False,False,False,False,False,False,False,False,False]
On Tue, Sep 29, 2009 at 2:45 PM, Thomas DuBuisson
wrote: On Mon, Sep 28, 2009 at 11:35 PM, Magicloud Magiclouds
wrote: It never matches to (_, 0.0).... I mean case properFraction l of  (_, 0) -> l  _ -> 0 -- always goes here.
Odd, it works fine for me.
f x =     case properFraction x of         (_,0) -> True         _   -> False
*Main> f 5 True *Main> f 5.5 False *Main> f 4.0 True *Main> f 4.00000001 False
Thomas
-- 竹å¯å²å¦¨æµæ°´è¿ å±±é«åªé»éäºé£