Data.Monoid中:

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
             )


我不明白如何用NumBounded等在Sum上导出IntegerFloat,这些自然不是Bounded(对于Product包装器来说也是一样)。

谢谢!

最佳答案

我很确定,只要Sum aEq的实例,这就会使a(例如)Eq的实例。

instance (Eq a) => Eq (Sum a) where ...


对于其他所有类也是如此。

09-26 04:48