Derivando um tipo e suas dependências
-
21-09-2019 - |
Pergunta
Eu tenho jogado com os envolvedos newtype para meus índices evitar bugs, e tenho algum código como este:
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype PersonIdx = PersonIdx Int
deriving (Enum, Eq, Integral, Num, Ord, Real, Show)
Derivar Integral
, é preciso derivar também todas as suas dependências (daí a lista acima de classes de tipo).
Existe uma maneira de fazer com que todas as dependências de Integral
junto com isso? Eu imaginaria algo como:
newtype PersonIdx = PersonIdx Int
deriving (Integral(..))
Solução
Não, não há atalho. Você terá que derivar de todos os tipos de dependentes explicitamente, mas pode encontrá -los facilmente digitando :i Integral
em ghci.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow