为什么函数类型不总是Eq类的实例?

时间:2016-09-30 22:23:13

标签: haskell

我正在尝试理解Eq类,当我在阅读关于Haskell中类型的章节时,我遇到了以下问题:

"解释为什么函数类型一般不可能成为Eq类的实例。"

我试图通过检查(==)函数的类型来理解。

:t (==)
(==) :: Eq a => a -> a -> Bool

所以aEq类的实例,但这并没有表明(==)函数是Eq类的实例,是吗?对我来说,似乎函数==的两个参数是Eq。

类型的实例
equal x1 x2 = x1 == x2

实际上等同于(==)。

我的理解是,对于Eq类的实例,函数类型总是不可行(我上面的例子是可行的)因为它们必须具有相同数量的参数(两个)并返回相同的类型(Bool)

虽然我不确定是否是这种情况。不清楚函数类型作为类的实例意味着什么。

0 个答案:

没有答案