(数字a)vs(方程a)

时间:2018-12-19 01:16:30

标签: haskell higher-order-functions

作为大学的一项练习,我被要求创建一个程序来测试矩阵是否为更高的三角形。 函数的类型在问题中已预定义。一定是

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,即使我不能更改函数的类型。我需要帮助。

0 个答案:

没有答案