我正在为Haskell做练习题,其中一个问题是 test3 x y = x (x y) 我必须找到它的类型。解决方案是 test3 :: (a -> a) -> a -> a 我不明白为什么解决方案中的变量都是a,而不是将x和y称为两个不同的变量,比如a和b。有人能解释一下这一点,并介绍一下如何找到这个问题的类型吗?
我试着用一个函数在Haskell中找到一个列表的平均值。这就是我输入的内容:let listmean x = (foldl (+) 0x)/(length x)和我得到了这个:
<`interactive>:43:18:错误:·无法从上下文中推断“/”的使用引起的错误:可折叠的t受推断类型列表的约束::折叠t => t Int -> Int at :43