【发布时间】:2012-09-21 11:17:46
【问题描述】:
我目前正在阅读this,但老实说,我很难看到什么
class Eq a where
(==) :: a -> a -> Bool
达到,这
instance Eq Integer where
x == y = x `integerEq` y
没有达到。我理解第二个代码定义了对两个 Integer 类型执行相等的结果应该是什么。那么第一个的目的是什么?
【问题讨论】:
-
一个是类型类,另一个是类型实例。前者描述了该类型类的类型可以做什么(接口),后者描述了它是如何完成的(实现)。 (免责声明:我真的不知道 Haskell。这是从语法和我读到的很少内容的一个疯狂猜测。)
-
@Xeo 你是对的。可以解释为 Haskell 的类型类与 java 的接口相匹配。 Haskell 的实例匹配 Java 的接口实现。
-
@Philipp Haskell 类型的类与 oop 无关。
标签: haskell instance typeclass