Hi
I have something like this – purpose is that I need to drop redundant .0 in a whole number – so to show 1.2345 as 1.2345 and to show 1.0 as 1
module Test where
niceShow x = if (isInt x) then show (floor x) else show x
isInt x = x == fromInteger (floor x)
But the hlint in my vim plugin keeps warning me that
test.hs|3 col 38 warning| Defaulting the following constraint(s) to type `Integer'
|| (Integral a0) arising from a use of `floor' at /tmp/test.hs:3:38-42
|| (Show a0) arising from a use of `show' at /tmp/test.hs:3:32-35
|| In the first argument of `show', namely `(floor x)'
|| In the expression: show (floor x)
|| In the expression: if (isInt x) then show (floor x) else show x
What does this mean? And what would I need to do in order to prevent this warning?