I can divide a float by an integer
2.4 / 3 0.7999999999999999
but why can I not do this? < 2.4 / (length [1,2,3]) <interactive>:288:1-22: error: * No instance for (Fractional Int) arising from a use of `/' * In the expression: 2.4 / (length [1, 2, 3]) LB
Hi, when you write 3 Haskell sees it as a "num" while the type of the length [1,2,3] is "int". So 3 and length [1,2,3] have not the same type. Il ven 5 feb 2021, 19:23 Lawrence Bottorff <borgauf@gmail.com> ha scritto:
I can divide a float by an integer
2.4 / 3 0.7999999999999999
but why can I not do this?
< 2.4 / (length [1,2,3]) <interactive>:288:1-22: error: * No instance for (Fractional Int) arising from a use of `/' * In the expression: 2.4 / (length [1, 2, 3])
LB _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
This works myAvg :: [Float] -> Float myAvg [] = 0.0 myAvg xs = (foldr (+) 0.0 xs) / (fromIntegral (length xs) :: Float) but is there a simpler way to "cast" the value of (length xs)? On Fri, Feb 5, 2021 at 12:29 PM Ut Primum <utprimum@gmail.com> wrote:
Hi, when you write 3 Haskell sees it as a "num" while the type of the length [1,2,3] is "int". So 3 and length [1,2,3] have not the same type.
Il ven 5 feb 2021, 19:23 Lawrence Bottorff <borgauf@gmail.com> ha scritto:
I can divide a float by an integer
2.4 / 3 0.7999999999999999
but why can I not do this?
< 2.4 / (length [1,2,3]) <interactive>:288:1-22: error: * No instance for (Fractional Int) arising from a use of `/' * In the expression: 2.4 / (length [1, 2, 3])
LB _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
participants (2)
-
Lawrence Bottorff -
Ut Primum