Dérivation un type et ses dépendances
-
21-09-2019 - |
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(..))
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