newtype Sum a = Sum { getSum :: a }
deriving ( Eq -- ^ @since 2.01
, Ord -- ^ @since 2.01
, Read -- ^ @since 2.01
, Show -- ^ @since 2.01
, Bounded -- ^ @since 2.01
, Generic -- ^ @since 4.7.0.0
, Generic1 -- ^ @since 4.7.0.0
, Num -- ^ @since 4.7.0.0
)
我不明白你怎么能用Num
,Bounded
等在Sum
上得到Integer
和Float
...这自然不是Bounded
(这与Product
包装器的故事相同)。
谢谢!
我很相信这会让Sum a
成为Eq
的一个例子,只要a
是Eq
的一个例子。
instance (Eq a) => Eq (Sum a) where ...
同样适用于所有其他课程。