Domanda

Ho giocato con involucri newtype per i miei indici per evitare errori, e ho qualche codice come questo:

{-# LANGUAGE GeneralizedNewtypeDeriving #-}

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

Per ricavare Integral, si deve ricavare tutte le sue dipendenze nonché (quindi precedente di tipo classi).

C'è un modo per farlo derivare tutte le dipendenze di Integral con esso? Immagino qualcosa di simile:

newtype PersonIdx = PersonIdx Int
  deriving (Integral(..))
È stato utile?

Soluzione

No, non ci sono scorciatoie. Dovrete derivare da tutti typeclasses dipendenti in modo esplicito, ma la ricerca di questi digitando :i Integral in ghci.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top