Question

Je joue avec des enveloppes de mes index pour New Type pour éviter les bugs, et j'ai un code comme ceci:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

Pour obtenir Integral, il faut en tirer toutes ses dépendances ainsi (d'où la liste ci-dessus des classes de type).

Y at-il un moyen de faire dériver toutes les dépendances de Integral avec elle? J'imagine quelque chose comme:

newtype PersonIdx = PersonIdx Int
  deriving (Integral(..))
Était-ce utile?

La solution

Non, il n'y a pas de raccourci. Vous devrez tirer de tous les dépendants explicitement classes de types, mais peut facilement trouver en tapant dans :i Integral ghci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top