Вывод типа и его зависимостей

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

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам