Derivar un tipo y sus dependencias
-
21-09-2019 - |
Pregunta
He estado jugando con envolturas de Newtype para mis índices para evitar errores, y tengo algo de código como el siguiente:
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype PersonIdx = PersonIdx Int
deriving (Enum, Eq, Integral, Num, Ord, Real, Show)
Para derivar Integral
, uno debe derivar todas sus dependencias, así (por lo tanto, la lista anterior de tipo-clases).
¿Hay una manera de hacer que se derivan todas las dependencias de Integral
junto con él? Me imagino algo como:
newtype PersonIdx = PersonIdx Int
deriving (Integral(..))
Solución
No, no hay ningún atajo. Vas a tener que derivar de todas las clases de tipos que dependen explícitamente, pero se puede encontrar fácilmente estos escribiendo :i Integral
en ghci.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow