我一直在玩NEWTYPE包装我的索引来避免错误,我有一些这样的代码:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

newtype PersonIdx = PersonIdx Int
  deriving (Enum, Eq, Integral, Num, Ord, Real, Show)

要导出Integral,必须导出其所有依赖以及(因此型类的上述列表)。

有没有一种方法,使之得到Integral的所有依赖与它一起?我猜想是这样的:

newtype PersonIdx = PersonIdx Int
  deriving (Integral(..))
有帮助吗?

解决方案

没有,没有捷径。你必须从明确所有相关类型类派生的,但可以很容易地通过在ghci中输入:i Integral找到这些。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top