2

我一直在为我的索引使用新类型包装器以避免错误,并且我有一些这样的代码:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

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

有没有办法让它派生所有的依赖关系Integral?我会想象这样的事情:

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

1 回答 1

6

不,没有捷径。您必须显式地从所有依赖类型类派生,但可以通过输入:i Integralghci 轻松找到它们。

于 2010-01-18T17:37:52.343 回答