I am stuck behind a very simple exercise I just have to do x + y ^ sqrt z with let, but I tried:
let f x y z = x + y ^ sqrt z
but it doesn't work and complains about a type miss match when f is used and with :t (f) I get:
(f) :: (Integral b, Floating b, Num a) => a -> a -> b -> a
Can somebody explain or give an article which explains the (Integral b, Floating b, Num a) part. What I know is Num a => a "1" -> a "2" -> a "3"
for f x y = x + y
x has the type of a1 and y has the type of a2 and the solution is a3 all of typeclass Num which is used for (*), (+), (^), ... .