我正在尝试编写一个简单的函数来检查一个整数是否通过取模并检查它是否为0来除以另一个整数。我的想法是
divides :: (Integral a) => a -> a -> Bool
divides = (==0) . (flip mod)
如果 a 除 b,则除 ab 为真。但是,这段代码给了我错误
Couldn't match expected type `a -> Bool' with actual type `Bool'
Expected type: b0 -> a -> Bool
Actual type: b0 -> Bool
In the first argument of `(.)', namely `(== 0)'
In the expression: (== 0) . mod
我真的不明白为什么这段代码不起作用。请赐教!