派生类型及其依赖项

时间:2010-01-18 17:28:58

标签: haskell typeclass derived-types deriving

我一直在为我的索引玩newtype包装器以避免错误,我有一些像这样的代码:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

要派生Integral,还必须派生所有依赖项(因此上面的类型类列表)。

有没有办法让它导出Integral的所有依赖关系?我想象的是:

newtype PersonIdx = PersonIdx Int
  deriving (Integral(..))

1 个答案:

答案 0 :(得分:6)

不,没有捷径。您必须明确地从所有依赖类型类派生,但可以通过在ghci中键入:i Integral轻松找到它们。