作为大学的一项练习,我被要求创建一个程序来测试矩阵是否为更高的三角形。 函数的类型在问题中已预定义。一定是
triSup :: Num a => Mat a -> Bool
所以我在这里做了这段代码:
type Mat a = [[a]]
triSup :: Num a => Mat a -> Bool
triSup m = all (==0) (zero m)
zero :: Num a => Mat a -> [a]
zero m = concat (zipWith ($) (zipWith ($) (replicate (length m) take) [0..((length m)-1)]) m)
问题是,ghci说他无法将我的数字a与0进行比较(我不明白为什么btw)。它说我需要Eq a,即使我不能更改函数的类型。我需要帮助。