我一直在为我的索引玩newtype包装器以避免错误,我有一些像这样的代码:
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype PersonIdx = PersonIdx Int
deriving (Enum, Eq, Integral, Num, Ord, Real, Show)
要派生Integral
,还必须派生所有依赖项(因此上面的类型类列表)。
有没有办法让它导出Integral
的所有依赖关系?我想象的是:
newtype PersonIdx = PersonIdx Int
deriving (Integral(..))
答案 0 :(得分:6)
不,没有捷径。您必须明确地从所有依赖类型类派生,但可以通过在ghci中键入:i Integral
轻松找到它们。