Вывод типа и его зависимостей - PullRequest
2 голосов
/ 18 января 2010

Я играл с обертками нового типа для своих индексов, чтобы избежать ошибок, и у меня есть такой код:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

Чтобы получить Integral, нужно также вывести все его зависимости (отсюда и приведенный выше список классов типов).

Есть ли способ заставить его получить все зависимости Integral вместе с ним? Я хотел бы представить что-то вроде:

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

1 Ответ

6 голосов
/ 18 января 2010

Нет, ярлыка нет. Вам придется явным образом извлечь из всех зависимых классов типов, но вы можете легко найти их, набрав :i Integral в ghci.

...